﻿<?xml version="1.0"?>
<doc>
  <assembly>
    <name>DotNetOpenAuth</name>
  </assembly>
  <members>
    <member name="T:DotNetOpenAuth.ComponentModel.ClaimTypeSuggestions">
      <summary>
            A design-time helper to give a Uri property an auto-complete functionality
            listing the URIs in the <see cref="T:System.IdentityModel.Claims.ClaimTypes" /> class.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.ComponentModel.SuggestedStringsConverter">
      <summary>
            A type that generates suggested strings for Intellisense,
            but doesn't actually convert between strings and other types.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.ComponentModel.ConverterBase`1">
      <summary>
            A design-time helper to allow Intellisense to aid typing
            ClaimType URIs.
            </summary>
      <typeparam name="T">The strong-type of the property this class is affixed to.</typeparam>
    </member>
    <member name="F:DotNetOpenAuth.ComponentModel.ConverterBase`1.standardValues">
      <summary>
            A cache of the standard claim types known to the application.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.#ctor">
      <summary>
            Initializes a new instance of the ConverterBase class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext)">
      <summary>
            Returns whether this object supports a standard set of values that can be picked from a list, using the specified context.
            </summary>
      <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context.</param>
      <returns>
            true if <see cref="M:System.ComponentModel.TypeConverter.GetStandardValues" /> should be called to find a common set of values the object supports; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.GetStandardValues(System.ComponentModel.ITypeDescriptorContext)">
      <summary>
            Returns a collection of standard values for the data type this type converter is designed for when provided with a format context.
            </summary>
      <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context that can be used to extract additional information about the environment from which this converter is invoked. This parameter or properties of this parameter can be null.</param>
      <returns>
            A <see cref="T:System.ComponentModel.TypeConverter.StandardValuesCollection" /> that holds a standard set of valid values, or null if the data type does not support a standard set of values.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext)">
      <summary>
            Returns whether the collection of standard values returned from <see cref="M:System.ComponentModel.TypeConverter.GetStandardValues" /> is an exclusive list of possible values, using the specified context.
            </summary>
      <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context.</param>
      <returns>
            true if the <see cref="T:System.ComponentModel.TypeConverter.StandardValuesCollection" /> returned from <see cref="M:System.ComponentModel.TypeConverter.GetStandardValues" /> is an exhaustive list of possible values; false if other values are possible.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
      <summary>
            Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.
            </summary>
      <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context.</param>
      <param name="sourceType">A <see cref="T:System.Type" /> that represents the type you want to convert from.</param>
      <returns>
            true if this converter can perform the conversion; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
      <summary>
            Returns whether this converter can convert the object to the specified type, using the specified context.
            </summary>
      <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context.</param>
      <param name="destinationType">A <see cref="T:System.Type" /> that represents the type you want to convert to.</param>
      <returns>
            true if this converter can perform the conversion; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
      <summary>
            Converts the given object to the type of this converter, using the specified context and culture information.
            </summary>
      <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context.</param>
      <param name="culture">The <see cref="T:System.Globalization.CultureInfo" /> to use as the current culture.</param>
      <param name="value">The <see cref="T:System.Object" /> to convert.</param>
      <returns>
            An <see cref="T:System.Object" /> that represents the converted value.
            </returns>
      <exception cref="T:System.NotSupportedException">
            The conversion cannot be performed.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
      <summary>
            Converts the given value object to the specified type, using the specified context and culture information.
            </summary>
      <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context.</param>
      <param name="culture">A <see cref="T:System.Globalization.CultureInfo" />. If null is passed, the current culture is assumed.</param>
      <param name="value">The <see cref="T:System.Object" /> to convert.</param>
      <param name="destinationType">The <see cref="T:System.Type" /> to convert the <paramref name="value" /> parameter to.</param>
      <returns>
            An <see cref="T:System.Object" /> that represents the converted value.
            </returns>
      <exception cref="T:System.ArgumentNullException">
            The <paramref name="destinationType" /> parameter is null.
            </exception>
      <exception cref="T:System.NotSupportedException">
            The conversion cannot be performed.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.CreateInstanceDescriptor(System.Reflection.MemberInfo,System.Collections.ICollection)">
      <summary>
            Creates an <see cref="T:System.ComponentModel.Design.Serialization.InstanceDescriptor" /> instance, protecting against the LinkDemand.
            </summary>
      <param name="memberInfo">The member info.</param>
      <param name="arguments">The arguments.</param>
      <returns>A <see cref="T:System.ComponentModel.Design.Serialization.InstanceDescriptor" />, or <c>null</c> if sufficient permissions are unavailable.</returns>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.GetStandardValuesForCache">
      <summary>
            Gets the standard values to suggest with Intellisense in the designer.
            </summary>
      <returns>A collection of the standard values.</returns>
      <pure />
      <ensures>Contract.Result&lt;ICollection&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.ConvertFrom(System.String)">
      <summary>
            Converts a value from its string representation to its strongly-typed object.
            </summary>
      <param name="value">The value.</param>
      <returns>The strongly-typed object.</returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.CreateFrom(`0)">
      <summary>
            Creates the reflection instructions for recreating an instance later.
            </summary>
      <param name="value">The value to recreate later.</param>
      <returns>The description of how to recreate an instance.</returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.ConvertToString(`0)">
      <summary>
            Converts the strongly-typed value to a string.
            </summary>
      <param name="value">The value to convert.</param>
      <returns>The string representation of the object.</returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.CreateInstanceDescriptorPrivate(System.Reflection.MemberInfo,System.Collections.ICollection)">
      <summary>
            Creates an <see cref="T:System.ComponentModel.Design.Serialization.InstanceDescriptor" /> instance, protecting against the LinkDemand.
            </summary>
      <param name="memberInfo">The member info.</param>
      <param name="arguments">The arguments.</param>
      <returns>A <see cref="T:System.ComponentModel.Design.Serialization.InstanceDescriptor" />.</returns>
    </member>
    <member name="P:DotNetOpenAuth.ComponentModel.ConverterBase`1.StandardValueCache">
      <summary>
            Gets a cache of the standard values to suggest.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.SuggestedStringsConverter.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.ComponentModel.SuggestedStringsConverter" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.SuggestedStringsConverter.GetStandardValuesForCacheShared(System.Type)">
      <summary>
            Gets the values of public static fields and properties on a given type.
            </summary>
      <param name="type">The type to reflect over.</param>
      <returns>A collection of values.</returns>
      <requires exception="T:System.ArgumentNullException">type != null</requires>
      <exception cref="T:System.ArgumentNullException">type == null</exception>
      <ensures>Contract.Result&lt;ICollection&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.SuggestedStringsConverter.ConvertFrom(System.String)">
      <summary>
            Converts a value from its string representation to its strongly-typed object.
            </summary>
      <param name="value">The value.</param>
      <returns>The strongly-typed object.</returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.SuggestedStringsConverter.CreateFrom(System.String)">
      <summary>
            Creates the reflection instructions for recreating an instance later.
            </summary>
      <param name="value">The value to recreate later.</param>
      <returns>
            The description of how to recreate an instance.
            </returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.SuggestedStringsConverter.ConvertToString(System.String)">
      <summary>
            Converts the strongly-typed value to a string.
            </summary>
      <param name="value">The value to convert.</param>
      <returns>The string representation of the object.</returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.SuggestedStringsConverter.GetStandardValuesForCache">
      <summary>
            Gets the standard values to suggest with Intellisense in the designer.
            </summary>
      <returns>A collection of the standard values.</returns>
      <pure />
      <ensures inheritedFrom="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.GetStandardValuesForCache" inheritedFromTypeName="ConverterBase">Contract.Result&lt;ICollection&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.ComponentModel.SuggestedStringsConverter.WellKnownValuesType">
      <summary>
            Gets the type to reflect over for the well known values.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;Type&gt;() != null</ensures>
      </getter>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.ClaimTypeSuggestions.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.ComponentModel.ClaimTypeSuggestions" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.ComponentModel.ClaimTypeSuggestions.WellKnownValuesType">
      <summary>
            Gets the type to reflect over to extract the well known values.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.ComponentModel.SuggestedStringsConverter.get_WellKnownValuesType" inheritedFromTypeName="SuggestedStringsConverter">Contract.Result&lt;Type&gt;() != null</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.ComponentModel.SuggestedStringsConverterContract">
      <summary>
            Contract class for the <see cref="T:DotNetOpenAuth.ComponentModel.SuggestedStringsConverter" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.ComponentModel.SuggestedStringsConverterContract.WellKnownValuesType">
      <summary>
            Gets the type to reflect over for the well known values.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.ComponentModel.IssuersSuggestions">
      <summary>
            A design-time helper to give a Uri property an auto-complete functionality
            listing the URIs in the <see cref="T:DotNetOpenAuth.InfoCard.WellKnownIssuers" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.IssuersSuggestions.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.ComponentModel.IssuersSuggestions" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.ComponentModel.IssuersSuggestions.WellKnownValuesType">
      <summary>
            Gets the type to reflect over to extract the well known values.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.ComponentModel.SuggestedStringsConverter.get_WellKnownValuesType" inheritedFromTypeName="SuggestedStringsConverter">Contract.Result&lt;Type&gt;() != null</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.ComponentModel.IdentifierConverter">
      <summary>
            A design-time helper to give an OpenID Identifier property an auto-complete functionality
            listing the OP Identifiers in the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.WellKnownProviders" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.IdentifierConverter.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.ComponentModel.IdentifierConverter" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.IdentifierConverter.ConvertFrom(System.String)">
      <summary>
            Converts a value from its string representation to its strongly-typed object.
            </summary>
      <param name="value">The value.</param>
      <returns>The strongly-typed object.</returns>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.IdentifierConverter.CreateFrom(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Creates the reflection instructions for recreating an instance later.
            </summary>
      <param name="value">The value to recreate later.</param>
      <returns>
            The description of how to recreate an instance.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.IdentifierConverter.ConvertToString(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Converts the strongly-typed value to a string.
            </summary>
      <param name="value">The value to convert.</param>
      <returns>The string representation of the object.</returns>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.IdentifierConverter.GetStandardValuesForCache">
      <summary>
            Gets the standard values to suggest with Intellisense in the designer.
            </summary>
      <returns>A collection of the standard values.</returns>
      <ensures inheritedFrom="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.GetStandardValuesForCache" inheritedFromTypeName="ConverterBase">Contract.Result&lt;ICollection&gt;() != null</ensures>
    </member>
    <member name="T:DotNetOpenAuth.ComponentModel.UriConverter">
      <summary>
            A design-time helper to allow controls to have properties
            of type <see cref="T:System.Uri" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.UriConverter.#ctor">
      <summary>
            Initializes a new instance of the UriConverter class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.UriConverter.IsValid(System.ComponentModel.ITypeDescriptorContext,System.Object)">
      <summary>
            Returns whether the given value object is valid for this type and for the specified context.
            </summary>
      <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context.</param>
      <param name="value">The <see cref="T:System.Object" /> to test for validity.</param>
      <returns>
            true if the specified value is valid for this object; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.UriConverter.ConvertFrom(System.String)">
      <summary>
            Converts a value from its string representation to its strongly-typed object.
            </summary>
      <param name="value">The value.</param>
      <returns>The strongly-typed object.</returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.UriConverter.CreateFrom(System.Uri)">
      <summary>
            Creates the reflection instructions for recreating an instance later.
            </summary>
      <param name="value">The value to recreate later.</param>
      <returns>
            The description of how to recreate an instance.
            </returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.UriConverter.ConvertToString(System.Uri)">
      <summary>
            Converts the strongly-typed value to a string.
            </summary>
      <param name="value">The value to convert.</param>
      <returns>The string representation of the object.</returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.ComponentModel.UriConverter.GetStandardValuesForCache">
      <summary>
            Gets the standard claim type URIs known to the library.
            </summary>
      <returns>An array of the standard claim types.</returns>
      <pure />
      <ensures inheritedFrom="M:DotNetOpenAuth.ComponentModel.ConverterBase`1.GetStandardValuesForCache" inheritedFromTypeName="ConverterBase">Contract.Result&lt;ICollection&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.ComponentModel.UriConverter.WellKnownValuesType">
      <summary>
            Gets the type to reflect over to extract the well known values.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.AssociationTypeCollection">
      <summary>
            Describes a collection of association type sub-elements in a .config file.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.AssociationTypeCollection.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.AssociationTypeCollection" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.AssociationTypeCollection.GetEnumerator">
      <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
      <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
            </returns>
      <ensures inheritedFrom="M:System.Collections.Generic.IEnumerable`1.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&lt;T&gt;&gt;() != null</ensures>
      <ensures inheritedFrom="M:System.Collections.Generic.IEnumerable`1.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&lt;T&gt;&gt;().Model == ((IEnumerable)this).Model</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.AssociationTypeCollection.CreateNewElement">
      <summary>
            When overridden in a derived class, creates a new <see cref="T:System.Configuration.ConfigurationElement" />.
            </summary>
      <returns>
            A new <see cref="T:System.Configuration.ConfigurationElement" />.
            </returns>
      <ensures inheritedFrom="M:System.Configuration.ConfigurationElementCollection.CreateNewElement" inheritedFromTypeName="ConfigurationElementCollection">Contract.Result&lt;ConfigurationElement&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.AssociationTypeCollection.GetElementKey(System.Configuration.ConfigurationElement)">
      <summary>
            Gets the element key for a specified configuration element when overridden in a derived class.
            </summary>
      <param name="element">The <see cref="T:System.Configuration.ConfigurationElement" /> to return the key for.</param>
      <returns>
            An <see cref="T:System.Object" /> that acts as the key for the specified <see cref="T:System.Configuration.ConfigurationElement" />.
            </returns>
      <requires inheritedFrom="M:System.Configuration.ConfigurationElementCollection.GetElementKey(System.Configuration.ConfigurationElement)" inheritedFromTypeName="ConfigurationElementCollection">element != null</requires>
      <ensures inheritedFrom="M:System.Configuration.ConfigurationElementCollection.GetElementKey(System.Configuration.ConfigurationElement)" inheritedFromTypeName="ConfigurationElementCollection">Contract.Result&lt;object&gt;() != null</ensures>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.AssociationTypeElement">
      <summary>
            Describes an association type and its maximum lifetime as an element
            in a .config file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.AssociationTypeElement.AssociationTypeConfigName">
      <summary>
            The name of the attribute that stores the association type.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.AssociationTypeElement.MaximumLifetimeConfigName">
      <summary>
            The name of the attribute that stores the association's maximum lifetime.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.AssociationTypeElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.AssociationTypeElement" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.AssociationTypeElement.AssociationType">
      <summary>
            Gets or sets the protocol name of the association.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.AssociationTypeElement.MaximumLifetime">
      <summary>
            Gets or sets the maximum time a shared association should live.
            </summary>
      <value>The default value is 14 days.</value>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.DotNetOpenAuthSection">
      <summary>
            Represents the section in the host's .config file that configures
            this library's settings.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.SectionName">
      <summary>
            The name of the section under which this library's settings must be found.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.MessagingElementName">
      <summary>
            The name of the &lt;messaging&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.OpenIdElementName">
      <summary>
            The name of the &lt;openid&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.OAuthElementName">
      <summary>
            The name of the &lt;oauth&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.ReportingElementName">
      <summary>
            The name of the &lt;reporting&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.WebResourceUrlProviderName">
      <summary>
            The name of the &lt;webResourceUrlProvider&gt; sub-element.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.DotNetOpenAuthSection" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.Configuration">
      <summary>
            Gets the configuration section from the .config file.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;DotNetOpenAuthSection&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.Messaging">
      <summary>
            Gets or sets the configuration for the messaging framework.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;MessagingElement&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.OpenId">
      <summary>
            Gets or sets the configuration for OpenID.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;OpenIdElement&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.OAuth">
      <summary>
            Gets or sets the configuration for OAuth.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;OAuthElement&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.Reporting">
      <summary>
            Gets or sets the configuration for reporting.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;ReportingElement&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.EmbeddedResourceRetrievalProvider">
      <summary>
            Gets or sets the type to use for obtaining URLs that fetch embedded resource streams.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.MessagingElement">
      <summary>
            Represents the &lt;messaging&gt; element in the host's .config file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.MessagingElement.UntrustedWebRequestElementName">
      <summary>
            The name of the &lt;untrustedWebRequest&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.MessagingElement.MaximumMessageLifetimeConfigName">
      <summary>
            The name of the attribute that stores the association's maximum lifetime.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.MessagingElement.MaximumClockSkewConfigName">
      <summary>
            The name of the attribute that stores the maximum allowable clock skew.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.MessagingElement.StrictConfigName">
      <summary>
            The name of the attribute that controls whether messaging rules are strictly followed.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.MessagingElement.DefaultMaximumIndirectMessageUrlLength">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.Configuration.MessagingElement.MaximumIndirectMessageUrlLength" /> property.
            </summary>
      <value>
            2KB, recommended by OpenID group
            </value>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.MessagingElement.MaximumIndirectMessageUrlLengthConfigName">
      <summary>
            The name of the attribute that controls the maximum length of a URL before it is converted
            to a POST payload.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.MessagingElement.MaximumMessageLifetime">
      <summary>
            Gets the actual maximum message lifetime that a program should allow.
            </summary>
      <value>The sum of the <see cref="P:DotNetOpenAuth.Configuration.MessagingElement.MaximumMessageLifetime" /> and 
            <see cref="P:DotNetOpenAuth.Configuration.MessagingElement.MaximumClockSkew" /> property values.</value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.MessagingElement.MaximumMessageLifetimeNoSkew">
      <summary>
            Gets or sets the time between a message's creation and its receipt
            before it is considered expired.
            </summary>
      <value>
            The default value value is 3 minutes.
            </value>
      <remarks>
        <para>Smaller timespans mean lower tolerance for delays in message delivery.
            Larger timespans mean more nonces must be stored to provide replay protection.</para>
        <para>The maximum age a message implementing the
            <see cref="T:DotNetOpenAuth.Messaging.Bindings.IExpiringProtocolMessage" /> interface can be before
            being discarded as too old.</para>
        <para>This time limit should NOT take into account expected 
            time skew for servers across the Internet.  Time skew is added to
            this value and is controlled by the <see cref="P:DotNetOpenAuth.Configuration.MessagingElement.MaximumClockSkew" /> property.</para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.MessagingElement.MaximumClockSkew">
      <summary>
            Gets or sets the maximum clock skew.
            </summary>
      <value>The default value is 10 minutes.</value>
      <remarks>
        <para>Smaller timespans mean lower tolerance for 
            time variance due to server clocks not being synchronized.
            Larger timespans mean greater chance for replay attacks and
            larger nonce caches.</para>
        <para>For example, if a server could conceivably have its
            clock d = 5 minutes off UTC time, then any two servers could have
            their clocks disagree by as much as 2*d = 10 minutes. </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.MessagingElement.Strict">
      <summary>
            Gets or sets a value indicating whether messaging rules are strictly
            adhered to.
            </summary>
      <value>
        <c>true</c> by default.</value>
      <remarks>
            Strict will require that remote parties adhere strictly to the specifications,
            even when a loose interpretation would not compromise security.
            <c>true</c> is a good default because it shakes out interoperability bugs in remote services
            so they can be identified and corrected.  But some web sites want things to Just Work
            more than they want to file bugs against others, so <c>false</c> is the setting for them.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.MessagingElement.UntrustedWebRequest">
      <summary>
            Gets or sets the configuration for the <see cref="T:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler" /> class.
            </summary>
      <value>The untrusted web request.</value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.MessagingElement.MaximumIndirectMessageUrlLength">
      <summary>
            Gets or sets the maximum allowable size for a 301 Redirect response before we send
            a 200 OK response with a scripted form POST with the parameters instead
            in order to ensure successfully sending a large payload to another server
            that might have a maximum allowable size restriction on its GET request.
            </summary>
      <value>The default value is 2048.</value>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.OAuthConsumerElement">
      <summary>
            Represents the &lt;oauth/consumer&gt; element in the host's .config file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OAuthConsumerElement.SecuritySettingsConfigName">
      <summary>
            Gets the name of the security sub-element.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OAuthConsumerElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.OAuthConsumerElement" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OAuthConsumerElement.SecuritySettings">
      <summary>
            Gets or sets the security settings.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.OAuthConsumerSecuritySettingsElement">
      <summary>
            Security settings that are applicable to consumers.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OAuthConsumerSecuritySettingsElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.OAuthConsumerSecuritySettingsElement" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OAuthConsumerSecuritySettingsElement.CreateSecuritySettings">
      <summary>
            Initializes a programmatically manipulatable bag of these security settings with the settings from the config file.
            </summary>
      <returns>The newly created security settings object.</returns>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.OAuthElement">
      <summary>
            Represents the &lt;oauth&gt; element in the host's .config file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OAuthElement.ConsumerElementName">
      <summary>
            The name of the &lt;consumer&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OAuthElement.ServiceProviderElementName">
      <summary>
            The name of the &lt;serviceProvider&gt; sub-element.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OAuthElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.OAuthElement" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OAuthElement.Consumer">
      <summary>
            Gets or sets the configuration specific for Consumers.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OAuthElement.ServiceProvider">
      <summary>
            Gets or sets the configuration specific for Service Providers.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.OAuthServiceProviderElement">
      <summary>
            Represents the &lt;oauth/serviceProvider&gt; element in the host's .config file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OAuthServiceProviderElement.StoreConfigName">
      <summary>
            The name of the custom store sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OAuthServiceProviderElement.SecuritySettingsConfigName">
      <summary>
            Gets the name of the security sub-element.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OAuthServiceProviderElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.OAuthServiceProviderElement" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OAuthServiceProviderElement.ApplicationStore">
      <summary>
            Gets or sets the type to use for storing application state.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OAuthServiceProviderElement.SecuritySettings">
      <summary>
            Gets or sets the security settings.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.OAuthServiceProviderSecuritySettingsElement">
      <summary>
            Security settings that are applicable to service providers.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OAuthServiceProviderSecuritySettingsElement.MinimumRequiredOAuthVersionConfigName">
      <summary>
            Gets the name of the @minimumRequiredOAuthVersion attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OAuthServiceProviderSecuritySettingsElement.MaximumRequestTokenTimeToLiveConfigName">
      <summary>
            Gets the name of the @maxAuthorizationTime attribute.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OAuthServiceProviderSecuritySettingsElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.OAuthServiceProviderSecuritySettingsElement" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OAuthServiceProviderSecuritySettingsElement.CreateSecuritySettings">
      <summary>
            Initializes a programmatically manipulatable bag of these security settings with the settings from the config file.
            </summary>
      <returns>The newly created security settings object.</returns>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OAuthServiceProviderSecuritySettingsElement.MinimumRequiredOAuthVersion">
      <summary>
            Gets or sets the minimum OAuth version a Consumer is required to support in order for this library to interoperate with it.
            </summary>
      <remarks>
            Although the earliest versions of OAuth are supported, for security reasons it may be desirable to require the
            remote party to support a later version of OAuth.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OAuthServiceProviderSecuritySettingsElement.MaximumRequestTokenTimeToLive">
      <summary>
            Gets or sets the maximum time a user can take to complete authorization.
            </summary>
      <remarks>
            This time limit serves as a security mitigation against brute force attacks to
            compromise (unauthorized or authorized) request tokens.
            Longer time limits is more friendly to slow users or consumers, while shorter
            time limits provide better security.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.OpenIdElement">
      <summary>
            Represents the &lt;openid&gt; element in the host's .config file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdElement.RelyingPartyElementName">
      <summary>
            The name of the &lt;relyingParty&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdElement.ProviderElementName">
      <summary>
            The name of the &lt;provider&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdElement.ExtensionFactoriesElementName">
      <summary>
            The name of the &lt;extensions&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdElement.XriResolverElementName">
      <summary>
            The name of the &lt;xriResolver&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdElement.MaxAuthenticationTimePropertyName">
      <summary>
            The name of the @maxAuthenticationTime attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdElement.CacheDiscoveryPropertyName">
      <summary>
            The name of the @cacheDiscovery attribute.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OpenIdElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.OpenIdElement" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdElement.MaxAuthenticationTime">
      <summary>
            Gets or sets the maximum time a user can take to complete authentication.
            </summary>
      <remarks>
            This time limit allows the library to decide how long to cache certain values
            necessary to complete authentication.  The lower the time, the less demand on
            the server.  But too short a time can frustrate the user.
            </remarks>
      <getter>
        <ensures>Contract.Result&lt;TimeSpan&gt;() &gt; TimeSpan.Zero</ensures>
      </getter>
      <setter>
        <requires exception="T:System.ArgumentOutOfRangeException">value &gt; TimeSpan.Zero</requires>
      </setter>
      <exception cref="T:System.ArgumentOutOfRangeException">value &lt;= TimeSpan.Zero</exception>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdElement.CacheDiscovery">
      <summary>
            Gets or sets a value indicating whether the results of Identifier discovery
            should be cached.
            </summary>
      <value>
            Use <c>true</c> to allow identifier discovery to immediately return cached results when available;
            otherwise, use <c>false</c>.to force fresh results every time at the cost of slightly slower logins.
            The default value is <c>true</c>.
            </value>
      <remarks>
            When enabled, caching is done according to HTTP standards.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdElement.RelyingParty">
      <summary>
            Gets or sets the configuration specific for Relying Parties.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdElement.Provider">
      <summary>
            Gets or sets the configuration specific for Providers.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdElement.ExtensionFactories">
      <summary>
            Gets or sets the registered OpenID extension factories.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdElement.XriResolver">
      <summary>
            Gets or sets the configuration for the XRI resolver.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.OpenIdProviderElement">
      <summary>
            The section in the .config file that allows customization of OpenID Provider behaviors.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdProviderElement.SecuritySettingsConfigName">
      <summary>
            The name of the security sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdProviderElement.BehaviorsElementName">
      <summary>
            Gets the name of the &lt;behaviors&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdProviderElement.StoreConfigName">
      <summary>
            The name of the custom store sub-element.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OpenIdProviderElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.OpenIdProviderElement" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdProviderElement.SecuritySettings">
      <summary>
            Gets or sets the security settings.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdProviderElement.Behaviors">
      <summary>
            Gets or sets the special behaviors to apply.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdProviderElement.ApplicationStore">
      <summary>
            Gets or sets the type to use for storing application state.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement">
      <summary>
            Represents the .config file element that allows for setting the security policies of the Provider.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.ProtectDownlevelReplayAttacksConfigName">
      <summary>
            Gets the name of the @protectDownlevelReplayAttacks attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.MinimumHashBitLengthConfigName">
      <summary>
            Gets the name of the @minimumHashBitLength attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.MaximumHashBitLengthConfigName">
      <summary>
            Gets the name of the @maximumHashBitLength attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.AssociationsConfigName">
      <summary>
            The name of the associations collection sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.RequireSslConfigName">
      <summary>
            Gets the name of the @requireSsl attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.UnsolicitedAssertionVerificationConfigName">
      <summary>
            Gets the name of the @unsolicitedAssertionVerification attribute.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.CreateSecuritySettings">
      <summary>
            Initializes a programmatically manipulatable bag of these security settings with the settings from the config file.
            </summary>
      <returns>The newly created security settings object.</returns>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.RequireSsl">
      <summary>
            Gets or sets a value indicating whether all discovery and authentication should require SSL security.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.MinimumHashBitLength">
      <summary>
            Gets or sets the minimum length of the hash that protects the protocol from hijackers.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.MaximumHashBitLength">
      <summary>
            Gets or sets the maximum length of the hash that protects the protocol from hijackers.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.ProtectDownlevelReplayAttacks">
      <summary>
            Gets or sets a value indicating whether the Provider should take special care 
            to protect OpenID 1.x relying parties against replay attacks.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.UnsolicitedAssertionVerification">
      <summary>
            Gets or sets the level of verification a Provider performs on an identifier before
            sending an unsolicited assertion for it.
            </summary>
      <value>The default value is <see cref="F:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.UnsolicitedAssertionVerificationLevel.RequireSuccess" />.</value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdProviderSecuritySettingsElement.AssociationLifetimes">
      <summary>
            Gets or sets the configured lifetimes of the various association types.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;AssociationTypeCollection&gt;() != null</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement">
      <summary>
            The section in the .config file that allows customization of OpenID Relying Party behaviors.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement.StoreConfigName">
      <summary>
            The name of the custom store sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement.PreserveUserSuppliedIdentifierConfigName">
      <summary>
            The name of the attribute that specifies whether dnoa.userSuppliedIdentifier is tacked onto the openid.return_to URL.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement.SecuritySettingsConfigName">
      <summary>
            Gets the name of the security sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement.BehaviorsElementName">
      <summary>
            The name of the &lt;behaviors&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement.DiscoveryServicesElementName">
      <summary>
            The name of the &lt;discoveryServices&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement.defaultDiscoveryServices">
      <summary>
            The built-in set of identifier discovery services.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement.PreserveUserSuppliedIdentifier">
      <summary>
            Gets or sets a value indicating whether "dnoa.userSuppliedIdentifier" is tacked onto the openid.return_to URL in order to preserve what the user typed into the OpenID box.
            </summary>
      <value>
            	The default value is <c>true</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement.SecuritySettings">
      <summary>
            Gets or sets the security settings.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement.Behaviors">
      <summary>
            Gets or sets the special behaviors to apply.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement.ApplicationStore">
      <summary>
            Gets or sets the type to use for storing application state.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartyElement.DiscoveryServices">
      <summary>
            Gets or sets the services to use for discovering service endpoints for identifiers.
            </summary>
      <remarks>
            If no discovery services are defined in the (web) application's .config file,
            the default set of discovery services built into the library are used.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement">
      <summary>
            Represents the .config file element that allows for setting the security policies of the Relying Party.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.MinimumRequiredOpenIdVersionConfigName">
      <summary>
            Gets the name of the @minimumRequiredOpenIdVersion attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.MinimumHashBitLengthConfigName">
      <summary>
            Gets the name of the @minimumHashBitLength attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.MaximumHashBitLengthConfigName">
      <summary>
            Gets the name of the @maximumHashBitLength attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.RequireSslConfigName">
      <summary>
            Gets the name of the @requireSsl attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.RequireDirectedIdentityConfigName">
      <summary>
            Gets the name of the @requireDirectedIdentity attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.RequireAssociationConfigName">
      <summary>
            Gets the name of the @requireAssociation attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.RejectUnsolicitedAssertionsConfigName">
      <summary>
            Gets the name of the @rejectUnsolicitedAssertions attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.RejectDelegatingIdentifiersConfigName">
      <summary>
            Gets the name of the @rejectDelegatedIdentifiers attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.IgnoreUnsignedExtensionsConfigName">
      <summary>
            Gets the name of the @ignoreUnsignedExtensions attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.PrivateSecretMaximumAgeConfigName">
      <summary>
            Gets the name of the @privateSecretMaximumAge attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.AllowDualPurposeIdentifiersConfigName">
      <summary>
            Gets the name of the @allowDualPurposeIdentifiers attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.AllowApproximateIdentifierDiscoveryConfigName">
      <summary>
            Gets the name of the @allowApproximateIdentifierDiscovery attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.ProtectDownlevelReplayAttacksConfigName">
      <summary>
            Gets the name of the @protectDownlevelReplayAttacks attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.TrustedProvidersElementName">
      <summary>
            The name of the &lt;trustedProviders&gt; sub-element.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.CreateSecuritySettings">
      <summary>
            Initializes a programmatically manipulatable bag of these security settings with the settings from the config file.
            </summary>
      <returns>The newly created security settings object.</returns>
      <ensures>Contract.Result&lt;RelyingPartySecuritySettings&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.RequireSsl">
      <summary>
            Gets or sets a value indicating whether all discovery and authentication should require SSL security.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.RequireDirectedIdentity">
      <summary>
            Gets or sets a value indicating whether only OP Identifiers will be discoverable 
            when creating authentication requests.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.RequireAssociation">
      <summary>
            Gets or sets a value indicating whether authentication requests
            will only be created where an association with the Provider can be established.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.MinimumRequiredOpenIdVersion">
      <summary>
            Gets or sets the minimum OpenID version a Provider is required to support in order for this library to interoperate with it.
            </summary>
      <remarks>
            Although the earliest versions of OpenID are supported, for security reasons it may be desirable to require the
            remote party to support a later version of OpenID.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.MinimumHashBitLength">
      <summary>
            Gets or sets the minimum length of the hash that protects the protocol from hijackers.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.MaximumHashBitLength">
      <summary>
            Gets or sets the maximum length of the hash that protects the protocol from hijackers.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.PrivateSecretMaximumAge">
      <summary>
            Gets or sets the maximum allowable age of the secret a Relying Party
            uses to its return_to URLs and nonces with 1.0 Providers.
            </summary>
      <value>The default value is 7 days.</value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.RejectUnsolicitedAssertions">
      <summary>
            Gets or sets a value indicating whether all unsolicited assertions should be ignored.
            </summary>
      <value>The default value is <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.RejectDelegatingIdentifiers">
      <summary>
            Gets or sets a value indicating whether delegating identifiers are refused for authentication.
            </summary>
      <value>The default value is <c>false</c>.</value>
      <remarks>
            When set to <c>true</c>, login attempts that start at the RP or arrive via unsolicited
            assertions will be rejected if discovery on the identifier shows that OpenID delegation
            is used for the identifier.  This is useful for an RP that should only accept identifiers
            directly issued by the Provider that is sending the assertion.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.IgnoreUnsignedExtensions">
      <summary>
            Gets or sets a value indicating whether unsigned extensions in authentication responses should be ignored.
            </summary>
      <value>The default value is <c>false</c>.</value>
      <remarks>
            When set to true, the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)" /> methods
            will not return any extension that was not signed by the Provider.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.AllowDualPurposeIdentifiers">
      <summary>
            Gets or sets a value indicating whether identifiers that are both OP Identifiers and Claimed Identifiers
            should ever be recognized as claimed identifiers.
            </summary>
      <value>
            	The default value is <c>false</c>, per the OpenID 2.0 spec.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.AllowApproximateIdentifierDiscovery">
      <summary>
            Gets or sets a value indicating whether certain Claimed Identifiers that exploit
            features that .NET does not have the ability to send exact HTTP requests for will
            still be allowed by using an approximate HTTP request.
            </summary>
      <value>
            	The default value is <c>true</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.ProtectDownlevelReplayAttacks">
      <summary>
            Gets or sets a value indicating whether the Relying Party should take special care 
            to protect users against replay attacks when interoperating with OpenID 1.1 Providers.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.OpenIdRelyingPartySecuritySettingsElement.TrustedProviders">
      <summary>
            Gets or sets the set of trusted OpenID Provider Endpoints.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.ReportingElement">
      <summary>
            Represents the &lt;reporting&gt; element in the host's .config file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.ReportingElement.EnabledAttributeName">
      <summary>
            The name of the @enabled attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.ReportingElement.MinimumReportingIntervalAttributeName">
      <summary>
            The name of the @minimumReportingInterval attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.ReportingElement.MinimumFlushIntervalAttributeName">
      <summary>
            The name of the @minimumFlushInterval attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.ReportingElement.IncludeFeatureUsageAttributeName">
      <summary>
            The name of the @includeFeatureUsage attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.ReportingElement.IncludeEventStatisticsAttributeName">
      <summary>
            The name of the @includeEventStatistics attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.ReportingElement.IncludeLocalRequestUrisAttributeName">
      <summary>
            The name of the @includeLocalRequestUris attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.ReportingElement.IncludeCulturesAttributeName">
      <summary>
            The name of the @includeCultures attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.ReportingElement.MinimumFlushIntervalDefault">
      <summary>
            The default value for the @minimumFlushInterval attribute.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.ReportingElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.ReportingElement" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.ReportingElement.Enabled">
      <summary>
            Gets or sets a value indicating whether this reporting is enabled.
            </summary>
      <value>
        <c>true</c> if enabled; otherwise, <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.ReportingElement.MinimumReportingInterval">
      <summary>
            Gets or sets the maximum frequency that reports will be published.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.ReportingElement.MinimumFlushInterval">
      <summary>
            Gets or sets the maximum frequency the set can be flushed to disk.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.ReportingElement.IncludeFeatureUsage">
      <summary>
            Gets or sets a value indicating whether to include a list of library features used in the report.
            </summary>
      <value>
        <c>true</c> to include a report of features used; otherwise, <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.ReportingElement.IncludeEventStatistics">
      <summary>
            Gets or sets a value indicating whether to include statistics of certain events such as
            authentication success and failure counting, and can include remote endpoint URIs.
            </summary>
      <value>
        <c>true</c> to include event counters in the report; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.ReportingElement.IncludeLocalRequestUris">
      <summary>
            Gets or sets a value indicating whether to include a few URLs to pages on the hosting
            web site that host DotNetOpenAuth components.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.ReportingElement.IncludeCultures">
      <summary>
            Gets or sets a value indicating whether to include the cultures requested by the user agent
            on pages that host DotNetOpenAuth components.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.TrustedProviderConfigurationCollection">
      <summary>
            A configuration collection of trusted OP Endpoints.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.TrustedProviderConfigurationCollection.RejectAssertionsFromUntrustedProvidersConfigName">
      <summary>
            The name of the "rejectAssertionsFromUntrustedProviders" element.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TrustedProviderConfigurationCollection.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.TrustedProviderConfigurationCollection" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TrustedProviderConfigurationCollection.#ctor(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Configuration.TrustedProviderEndpointConfigurationElement})">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.TrustedProviderConfigurationCollection" /> class.
            </summary>
      <param name="elements">The elements to initialize the collection with.</param>
      <requires exception="T:System.ArgumentNullException">elements != null</requires>
      <exception cref="T:System.ArgumentNullException">elements == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TrustedProviderConfigurationCollection.CreateNewElement">
      <summary>
            When overridden in a derived class, creates a new <see cref="T:System.Configuration.ConfigurationElement" />.
            </summary>
      <returns>
            A new <see cref="T:System.Configuration.ConfigurationElement" />.
            </returns>
      <ensures inheritedFrom="M:System.Configuration.ConfigurationElementCollection.CreateNewElement" inheritedFromTypeName="ConfigurationElementCollection">Contract.Result&lt;ConfigurationElement&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TrustedProviderConfigurationCollection.GetElementKey(System.Configuration.ConfigurationElement)">
      <summary>
            Gets the element key for a specified configuration element when overridden in a derived class.
            </summary>
      <param name="element">The <see cref="T:System.Configuration.ConfigurationElement" /> to return the key for.</param>
      <returns>
            An <see cref="T:System.Object" /> that acts as the key for the specified <see cref="T:System.Configuration.ConfigurationElement" />.
            </returns>
      <requires inheritedFrom="M:System.Configuration.ConfigurationElementCollection.GetElementKey(System.Configuration.ConfigurationElement)" inheritedFromTypeName="ConfigurationElementCollection">element != null</requires>
      <ensures inheritedFrom="M:System.Configuration.ConfigurationElementCollection.GetElementKey(System.Configuration.ConfigurationElement)" inheritedFromTypeName="ConfigurationElementCollection">Contract.Result&lt;object&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.TrustedProviderConfigurationCollection.RejectAssertionsFromUntrustedProviders">
      <summary>
            Gets or sets a value indicating whether any login attempt coming from an OpenID Provider Endpoint that is not on this
            whitelist of trusted OP Endpoints will be rejected.  If the trusted providers list is empty and this value
            is true, all assertions are rejected.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.TrustedProviderEndpointConfigurationElement">
      <summary>
            A configuration element that records a trusted Provider Endpoint.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.TrustedProviderEndpointConfigurationElement.ProviderEndpointConfigName">
      <summary>
            The name of the attribute that stores the <see cref="P:DotNetOpenAuth.Configuration.TrustedProviderEndpointConfigurationElement.ProviderEndpoint" /> value.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TrustedProviderEndpointConfigurationElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.TrustedProviderEndpointConfigurationElement" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.TrustedProviderEndpointConfigurationElement.ProviderEndpoint">
      <summary>
            Gets or sets the OpenID Provider Endpoint (aka "OP Endpoint") that this relying party trusts.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.TypeConfigurationCollection`1">
      <summary>
            A collection of <see cref="T:DotNetOpenAuth.Configuration.TypeConfigurationElement`1" />.
            </summary>
      <typeparam name="T">The type that all types specified in the elements must derive from.</typeparam>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TypeConfigurationCollection`1.#ctor">
      <summary>
            Initializes a new instance of the TypeConfigurationCollection class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TypeConfigurationCollection`1.#ctor(System.Collections.Generic.IEnumerable{System.Type})">
      <summary>
            Initializes a new instance of the TypeConfigurationCollection class.
            </summary>
      <param name="elements">The elements that should be added to the collection initially.</param>
      <requires exception="T:System.ArgumentNullException">elements != null</requires>
      <exception cref="T:System.ArgumentNullException">elements == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TypeConfigurationCollection`1.CreateInstances(System.Boolean)">
      <summary>
            Creates instances of all the types listed in the collection.
            </summary>
      <param name="allowInternals">if set to <c>true</c> then internal types may be instantiated.</param>
      <returns>A sequence of instances generated from types in this collection.  May be empty, but never null.</returns>
      <ensures>Contract.Result&lt;IEnumerable&lt;T&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TypeConfigurationCollection`1.CreateNewElement">
      <summary>
            When overridden in a derived class, creates a new <see cref="T:System.Configuration.ConfigurationElement" />.
            </summary>
      <returns>
            A new <see cref="T:System.Configuration.ConfigurationElement" />.
            </returns>
      <ensures inheritedFrom="M:System.Configuration.ConfigurationElementCollection.CreateNewElement" inheritedFromTypeName="ConfigurationElementCollection">Contract.Result&lt;ConfigurationElement&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TypeConfigurationCollection`1.GetElementKey(System.Configuration.ConfigurationElement)">
      <summary>
            Gets the element key for a specified configuration element when overridden in a derived class.
            </summary>
      <param name="element">The <see cref="T:System.Configuration.ConfigurationElement" /> to return the key for.</param>
      <returns>
            An <see cref="T:System.Object" /> that acts as the key for the specified <see cref="T:System.Configuration.ConfigurationElement" />.
            </returns>
      <requires inheritedFrom="M:System.Configuration.ConfigurationElementCollection.GetElementKey(System.Configuration.ConfigurationElement)" inheritedFromTypeName="ConfigurationElementCollection">element != null</requires>
      <ensures inheritedFrom="M:System.Configuration.ConfigurationElementCollection.GetElementKey(System.Configuration.ConfigurationElement)" inheritedFromTypeName="ConfigurationElementCollection">Contract.Result&lt;object&gt;() != null</ensures>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.TypeConfigurationElement`1">
      <summary>
            Represents an element in a .config file that allows the user to provide a @type attribute specifying
            the full type that provides some service used by this library.
            </summary>
      <typeparam name="T">A constraint on the type the user may provide.</typeparam>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.TypeConfigurationElement`1.CustomTypeConfigName">
      <summary>
            The name of the attribute whose value is the full name of the type the user is specifying.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.TypeConfigurationElement`1.XamlReaderSourceConfigName">
      <summary>
            The name of the attribute whose value is the path to the XAML file to deserialize to obtain the type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TypeConfigurationElement`1.#ctor">
      <summary>
            Initializes a new instance of the TypeConfigurationElement class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TypeConfigurationElement`1.CreateInstance(`0)">
      <summary>
            Creates an instance of the type described in the .config file.
            </summary>
      <param name="defaultValue">The value to return if no type is given in the .config file.</param>
      <returns>The newly instantiated type.</returns>
      <ensures>Contract.Result&lt;T&gt;() != null || Contract.Result&lt;T&gt;() == defaultValue</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TypeConfigurationElement`1.CreateInstance(`0,System.Boolean)">
      <summary>
            Creates an instance of the type described in the .config file.
            </summary>
      <param name="defaultValue">The value to return if no type is given in the .config file.</param>
      <param name="allowInternals">if set to <c>true</c> then internal types may be instantiated.</param>
      <returns>The newly instantiated type.</returns>
      <ensures>Contract.Result&lt;T&gt;() != null || Contract.Result&lt;T&gt;() == defaultValue</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.TypeConfigurationElement`1.CreateInstanceFromXaml(System.IO.Stream)">
      <summary>
            Creates the instance from xaml.
            </summary>
      <param name="xaml">The stream of xaml to deserialize.</param>
      <returns>The deserialized object.</returns>
      <remarks>
            This exists as its own method to prevent the CLR's JIT compiler from failing
            to compile the CreateInstance method just because the PresentationFramework.dll
            may be missing (which it is on some shared web hosts).  This way, if the
            XamlSource attribute is never used, the PresentationFramework.dll never need
            be present.
            </remarks>
      <ensures>Contract.Result&lt;T&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.TypeConfigurationElement`1.TypeName">
      <summary>
            Gets or sets the full name of the type.
            </summary>
      <value>The full name of the type, such as: "ConsumerPortal.Code.CustomStore, ConsumerPortal".</value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.TypeConfigurationElement`1.XamlSource">
      <summary>
            Gets or sets the path to the XAML file to deserialize to obtain the instance.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.TypeConfigurationElement`1.CustomType">
      <summary>
            Gets the type described in the .config file.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.TypeConfigurationElement`1.IsEmpty">
      <summary>
            Gets a value indicating whether this type has no meaningful type to instantiate.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.UntrustedWebRequestElement">
      <summary>
            Represents the section of a .config file where security policies regarding web requests
            to user-provided, untrusted servers is controlled.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.TimeoutConfigName">
      <summary>
            Gets the name of the @timeout attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.ReadWriteTimeoutConfigName">
      <summary>
            Gets the name of the @readWriteTimeout attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.MaximumBytesToReadConfigName">
      <summary>
            Gets the name of the @maximumBytesToRead attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.MaximumRedirectionsConfigName">
      <summary>
            Gets the name of the @maximumRedirections attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.WhitelistHostsConfigName">
      <summary>
            Gets the name of the @whitelistHosts attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.WhitelistHostsRegexConfigName">
      <summary>
            Gets the name of the @whitelistHostsRegex attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.BlacklistHostsConfigName">
      <summary>
            Gets the name of the @blacklistHosts attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.BlacklistHostsRegexConfigName">
      <summary>
            Gets the name of the @blacklistHostsRegex attribute.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.ReadWriteTimeout">
      <summary>
            Gets or sets the read/write timeout after which an HTTP request will fail.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.Timeout">
      <summary>
            Gets or sets the timeout after which an HTTP request will fail.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.MaximumBytesToRead">
      <summary>
            Gets or sets the maximum bytes to read from an untrusted web server.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.MaximumRedirections">
      <summary>
            Gets or sets the maximum redirections that will be followed before an HTTP request fails.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.WhitelistHosts">
      <summary>
            Gets or sets the collection of hosts on the whitelist.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.BlacklistHosts">
      <summary>
            Gets or sets the collection of hosts on the blacklist.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.WhitelistHostsRegex">
      <summary>
            Gets or sets the collection of regular expressions that describe hosts on the whitelist.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.UntrustedWebRequestElement.BlacklistHostsRegex">
      <summary>
            Gets or sets the collection of regular expressions that describe hosts on the blacklist.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.HostNameOrRegexCollection">
      <summary>
            Represents a collection of child elements that describe host names either as literal host names or regex patterns.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.HostNameOrRegexCollection.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.HostNameOrRegexCollection" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.HostNameOrRegexCollection.CreateNewElement">
      <summary>
            Creates a new child host name element.
            </summary>
      <returns>
            A new <see cref="T:System.Configuration.ConfigurationElement" />.
            </returns>
      <ensures inheritedFrom="M:System.Configuration.ConfigurationElementCollection.CreateNewElement" inheritedFromTypeName="ConfigurationElementCollection">Contract.Result&lt;ConfigurationElement&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.HostNameOrRegexCollection.GetElementKey(System.Configuration.ConfigurationElement)">
      <summary>
            Gets the element key for a specified configuration element.
            </summary>
      <param name="element">The <see cref="T:System.Configuration.ConfigurationElement" /> to return the key for.</param>
      <returns>
            An <see cref="T:System.Object" /> that acts as the key for the specified <see cref="T:System.Configuration.ConfigurationElement" />.
            </returns>
      <requires inheritedFrom="M:System.Configuration.ConfigurationElementCollection.GetElementKey(System.Configuration.ConfigurationElement)" inheritedFromTypeName="ConfigurationElementCollection">element != null</requires>
      <ensures inheritedFrom="M:System.Configuration.ConfigurationElementCollection.GetElementKey(System.Configuration.ConfigurationElement)" inheritedFromTypeName="ConfigurationElementCollection">Contract.Result&lt;object&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.HostNameOrRegexCollection.KeysAsStrings">
      <summary>
            Gets all the members of the collection assuming they are all literal host names.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.HostNameOrRegexCollection.KeysAsRegexs">
      <summary>
            Gets all the members of the collection assuming they are all host names regex patterns.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.HostNameElement">
      <summary>
            Represents the name of a single host or a regex pattern for host names.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.HostNameElement.NameConfigName">
      <summary>
            Gets the name of the @name attribute.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.HostNameElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.HostNameElement" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.HostNameElement.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.HostNameElement" /> class.
            </summary>
      <param name="name">The default value of the <see cref="P:DotNetOpenAuth.Configuration.HostNameElement.Name" /> property.</param>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.HostNameElement.Name">
      <summary>
            Gets or sets the name of the host on the white or black list.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Configuration.XriResolverElement">
      <summary>
            Represents the &lt;xriResolver&gt; element in the host's .config file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.XriResolverElement.EnabledAttributeName">
      <summary>
            Gets the name of the @enabled attribute.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.XriResolverElement.EnabledDefaultValue">
      <summary>
            The default value for <see cref="P:DotNetOpenAuth.Configuration.XriResolverElement.Enabled" />.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.XriResolverElement.ProxyElementName">
      <summary>
            The name of the &lt;proxy&gt; sub-element.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Configuration.XriResolverElement.ProxyDefault">
      <summary>
            The default XRI proxy resolver to use.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Configuration.XriResolverElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Configuration.XriResolverElement" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.XriResolverElement.Enabled">
      <summary>
            Gets or sets a value indicating whether this XRI resolution is enabled.
            </summary>
      <value>The default value is <c>true</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.Configuration.XriResolverElement.Proxy">
      <summary>
            Gets or sets the proxy to use for resolving XRIs.
            </summary>
      <value>The default value is "xri.net".</value>
    </member>
    <member name="T:DotNetOpenAuth.IEmbeddedResourceRetrieval">
      <summary>
            An interface that provides URLs from which embedded resources can be obtained.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.IEmbeddedResourceRetrieval.GetWebResourceUrl(System.Type,System.String)">
      <summary>
            Gets the URL from which the given manifest resource may be downloaded by the user agent.
            </summary>
      <param name="someTypeInResourceAssembly">Some type in the assembly containing the desired resource.</param>
      <param name="manifestResourceName">Manifest name of the desired resource.</param>
      <returns>An absolute URL.</returns>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.ClaimType">
      <summary>
            Description of a claim that is requested or required in a submitted Information Card.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.ClaimType.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.InfoCard.ClaimType" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.ClaimType.ToString">
      <summary>
            Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </summary>
      <returns>
            A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </returns>
      <ensures inheritedFrom="M:System.Object.ToString" inheritedFromTypeName="Object">Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.ClaimType.Name">
      <summary>
            Gets or sets the URI of a requested claim.
            </summary>
      <remarks>
            For a list of well-known claim type URIs, see the <see cref="T:System.IdentityModel.Claims.ClaimTypes" /> class.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.ClaimType.IsOptional">
      <summary>
            Gets or sets a value indicating whether this claim is optional.
            </summary>
      <value>
        <c>true</c> if this instance is optional; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.InfoCardImageSize">
      <summary>
            A set of sizes for which standard InfoCard icons are available.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size14x10">
      <summary>
            A standard InfoCard icon with size 14x10
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size23x16">
      <summary>
            A standard InfoCard icon with size 23x16
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size34x24">
      <summary>
            A standard InfoCard icon with size 34x24
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size41x29">
      <summary>
            A standard InfoCard icon with size 41x29
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size50x35">
      <summary>
            A standard InfoCard icon with size 50x35
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size60x42">
      <summary>
            A standard InfoCard icon with size 60x42
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size71x50">
      <summary>
            A standard InfoCard icon with size 71x50
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size92x64">
      <summary>
            A standard InfoCard icon with size 92x64
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size114x80">
      <summary>
            A standard InfoCard icon with size 114x80
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size164x108">
      <summary>
            A standard InfoCard icon with size 164x108
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size214x50">
      <summary>
            A standard InfoCard icon with size 214x50
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size300x210">
      <summary>
            A standard InfoCard icon with size 300x210
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImageSize.Size365x256">
      <summary>
            A standard InfoCard icon with size 365x256
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.InfoCardImage">
      <summary>
            Assists in selecting the InfoCard image to display in the user agent.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImage.DefaultImageSize">
      <summary>
            The default size of the InfoCard icon to use.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardImage.UrlFormatString">
      <summary>
            The format to use when generating the image manifest resource stream name.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardImage.GetImageManifestResourceStreamName(DotNetOpenAuth.InfoCard.InfoCardImageSize)">
      <summary>
            Gets the name of the image manifest resource stream for an InfoCard image of the given size.
            </summary>
      <param name="size">The size of the desired InfoCard image.</param>
      <returns>The manifest resource stream name.</returns>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.InfoCardStrings">
      <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardStrings.ResourceManager">
      <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardStrings.Culture">
      <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardStrings.AudienceMismatch">
      <summary>
              Looks up a localized string similar to The token is invalid: The audience restrictions does not match the Relying Party..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardStrings.EmptyClaimListNotAllowed">
      <summary>
              Looks up a localized string similar to The list of claims requested for inclusion in the InfoCard must be non-empty..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardStrings.EncryptionAlgorithmNotFound">
      <summary>
              Looks up a localized string similar to Failed to find the encryptionAlgorithm..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardStrings.PpidClaimRequired">
      <summary>
              Looks up a localized string similar to This operation requires the PPID claim to be included in the InfoCard token..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardStrings.PrivacyVersionRequiredWithPrivacyUrl">
      <summary>
              Looks up a localized string similar to The PrivacyVersion property must be set whenever the PrivacyUrl property is set..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardStrings.SelectorClickPrompt">
      <summary>
              Looks up a localized string similar to Click here to select your Information Card..
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.InformationCardException">
      <summary>
            An exception class for Information Cards.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.ProtocolException">
      <summary>
            An exception to represent errors in the local or remote implementation of the protocol.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ProtocolException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ProtocolException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> class.
            </summary>
      <param name="message">A message describing the specific error the occurred or was detected.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ProtocolException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> class.
            </summary>
      <param name="message">A message describing the specific error the occurred or was detected.</param>
      <param name="inner">The inner exception to include.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ProtocolException.#ctor(System.String,DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> class
            such that it can be sent as a protocol message response to a remote caller.
            </summary>
      <param name="message">The human-readable exception message.</param>
      <param name="faultedMessage">The message that was the cause of the exception.  Must not be null.</param>
      <requires exception="T:System.ArgumentNullException">faultedMessage != null</requires>
      <exception cref="T:System.ArgumentNullException">faultedMessage == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ProtocolException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> class.
            </summary>
      <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> 
            that holds the serialized object data about the exception being thrown.</param>
      <param name="context">The System.Runtime.Serialization.StreamingContext 
            that contains contextual information about the source or destination.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ProtocolException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
            </summary>
      <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
      <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
      <exception cref="T:System.ArgumentNullException">
            The <paramref name="info" /> parameter is a null reference (Nothing in Visual Basic).
            </exception>
      <PermissionSet>
        <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
        <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter" />
      </PermissionSet>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.ProtocolException.FaultedMessage">
      <summary>
            Gets the message that caused the exception.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InformationCardException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.InfoCard.InformationCardException" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InformationCardException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.InfoCard.InformationCardException" /> class with a specified
            error message.
            </summary>
      <param name="message">The error message.</param>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InformationCardException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.InfoCard.InformationCardException" /> class
            with a specified error message and a reference to the inner exception that is
            the cause of this exception.
            </summary>
      <param name="message">The error message that explains the reason for the exception.</param>
      <param name="innerException">
            The exception that is the cause of the current exception, or a null reference
                (Nothing in Visual Basic) if no inner exception is specified.
            </param>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InformationCardException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.InfoCard.InformationCardException" /> class
             with serialized data.
            </summary>
      <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
      <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
      <exception cref="T:System.ArgumentNullException">
            The <paramref name="info" /> parameter is null.
            </exception>
      <exception cref="T:System.Runtime.Serialization.SerializationException">
            The class name is null or <see cref="P:System.Exception.HResult" /> is zero (0).
            </exception>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.Token">
      <summary>
            The decrypted token that was submitted as an Information Card.
            </summary>
      <invariant>this.AuthorizationContext != null</invariant>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.Token.claims">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.InfoCard.Token.Claims" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.Token.uniqueId">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.InfoCard.Token.UniqueId" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.Token.#ctor(System.String,System.Uri,DotNetOpenAuth.InfoCard.TokenDecryptor)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.InfoCard.Token" /> class.
            </summary>
      <param name="tokenXml">Xml token, which may be encrypted.</param>
      <param name="audience">The audience.  May be <c>null</c> to avoid audience checking.</param>
      <param name="decryptor">The decryptor to use to decrypt the token, if necessary..</param>
      <exception cref="T:DotNetOpenAuth.InfoCard.InformationCardException">Thrown for any problem decoding or decrypting the token.</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(tokenXml)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(tokenXml)</exception>
      <requires exception="T:System.ArgumentException">decryptor != null || !IsEncrypted(tokenXml)</requires>
      <exception cref="T:System.ArgumentException">decryptor == null &amp;&amp; IsEncrypted(tokenXml)</exception>
      <ensures>this.AuthorizationContext != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.Token.Read(System.String)">
      <summary>
            Deserializes an XML document into a token.
            </summary>
      <param name="tokenXml">The token XML.</param>
      <returns>The deserialized token.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(tokenXml)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(tokenXml)</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.Token.Read(System.String,System.Uri)">
      <summary>
            Deserializes an XML document into a token.
            </summary>
      <param name="tokenXml">The token XML.</param>
      <param name="audience">The URI that this token must have been crafted to be sent to.  Use <c>null</c> to accept any intended audience.</param>
      <returns>The deserialized token.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(tokenXml)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(tokenXml)</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.Token.Read(System.String,System.Collections.Generic.IEnumerable{System.IdentityModel.Tokens.SecurityToken})">
      <summary>
            Deserializes an XML document into a token.
            </summary>
      <param name="tokenXml">The token XML.</param>
      <param name="decryptionTokens">Any X.509 certificates that may be used to decrypt the token, if necessary.</param>
      <returns>The deserialized token.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(tokenXml)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(tokenXml)</exception>
      <requires exception="T:System.ArgumentNullException">decryptionTokens != null</requires>
      <exception cref="T:System.ArgumentNullException">decryptionTokens == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.Token.Read(System.String,System.Uri,System.Collections.Generic.IEnumerable{System.IdentityModel.Tokens.SecurityToken})">
      <summary>
            Deserializes an XML document into a token.
            </summary>
      <param name="tokenXml">The token XML.</param>
      <param name="audience">The URI that this token must have been crafted to be sent to.  Use <c>null</c> to accept any intended audience.</param>
      <param name="decryptionTokens">Any X.509 certificates that may be used to decrypt the token, if necessary.</param>
      <returns>The deserialized token.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(tokenXml)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(tokenXml)</exception>
      <requires exception="T:System.ArgumentNullException">decryptionTokens != null</requires>
      <exception cref="T:System.ArgumentNullException">decryptionTokens == null</exception>
      <ensures>Contract.Result&lt;Token&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.Token.IsEncrypted(System.String)">
      <summary>
            Determines whether the specified token XML is encrypted.
            </summary>
      <param name="tokenXml">The token XML.</param>
      <returns>
        <c>true</c> if the specified token XML is encrypted; otherwise, <c>false</c>.
            </returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">tokenXml != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenXml == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.Token.IsEncrypted(System.Xml.XmlReader)">
      <summary>
            Determines whether the specified token XML is encrypted.
            </summary>
      <param name="tokenXmlReader">The token XML.</param>
      <returns>
        <c>true</c> if the specified token XML is encrypted; otherwise, <c>false</c>.
            </returns>
      <requires exception="T:System.ArgumentNullException">tokenXmlReader != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenXmlReader == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.Token.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.Token.GetFlattenedClaims">
      <summary>
            Flattens the claims into a dictionary
            </summary>
      <returns>A dictionary of claim type URIs and claim values.</returns>
      <pure />
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.Token.AuthorizationContext">
      <summary>
            Gets the AuthorizationContext behind this token.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.Token.Xml">
      <summary>
            Gets the the decrypted token XML.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.Token.UniqueId">
      <summary>
            Gets the UniqueID of this token, usable as a stable username that the user
            has already verified belongs to him/her.
            </summary>
      <remarks>
            By default, this uses the PPID and the Issuer's Public Key and hashes them 
            together to generate a UniqueID.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.Token.IssuerPubKeyHash">
      <summary>
            Gets the hash of the card issuer's public key.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.Token.SiteSpecificId">
      <summary>
            Gets the Site Specific ID that the user sees in the Identity Selector.
            </summary>
      <getter>
        <requires exception="T:System.InvalidOperationException">this.Claims.ContainsKey(ClaimTypes.PPID) &amp;&amp; !string.IsNullOrEmpty(this.Claims[ClaimTypes.PPID])</requires>
      </getter>
      <exception cref="T:System.InvalidOperationException">!(this.Claims.ContainsKey(ClaimTypes.PPID)) || string.IsNullOrEmpty(this.Claims[ClaimTypes.PPID])</exception>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.Token.Claims">
      <summary>
            Gets the claims in all the claimsets as a dictionary of strings.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.TokenUtility">
      <summary>
            Tools for reading InfoCard tokens.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenUtility.AuthenticateToken(System.Xml.XmlReader,System.Uri)">
      <summary>
            Token Authentication.  Translates the decrypted data into a AuthContext.
            </summary>
      <param name="reader">The token XML reader.</param>
      <param name="audience">The audience that the token must be scoped for.
            Use <c>null</c> to indicate any audience is acceptable.</param>
      <returns>
            The authorization context carried by the token.
            </returns>
      <ensures>Contract.Result&lt;AuthorizationContext&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenUtility.GetResourceValue(System.IdentityModel.Claims.Claim)">
      <summary>
            Translates claims to strings
            </summary>
      <param name="claim">Claim to translate to a string</param>
      <returns>The string representation of a claim's value.</returns>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenUtility.GetIssuerPubKeyHash(System.IdentityModel.Policy.AuthorizationContext)">
      <summary>
            Generates a UniqueID based off the Issuer's key
            </summary>
      <param name="authzContext">the Authorization Context</param>
      <returns>the hash of the internal key of the issuer</returns>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenUtility.GetUniqueName(System.IdentityModel.Policy.AuthorizationContext)">
      <summary>
            Generates a UniqueID based off the Issuer's key and the PPID.
            </summary>
      <param name="authzContext">The Authorization Context</param>
      <returns>A unique ID for this user at this web site.</returns>
      <requires exception="T:System.ArgumentNullException">authzContext != null</requires>
      <exception cref="T:System.ArgumentNullException">authzContext == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenUtility.CalculateSiteSpecificID(System.String)">
      <summary>
            Generates the Site Specific ID to match the one in the Identity Selector.
            </summary>
      <value>The ID displayed by the Identity Selector.</value>
      <param name="ppid">The personal private identifier.</param>
      <returns>A string containing the XXX-XXXX-XXX cosmetic value.</returns>
      <requires exception="T:System.ArgumentNullException">ppid != null</requires>
      <exception cref="T:System.ArgumentNullException">ppid == null</exception>
      <ensures>!string.IsNullOrEmpty(Contract.Result&lt;string&gt;())</ensures>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenUtility.GetUniqueRsaClaim(System.IdentityModel.Claims.ClaimSet)">
      <summary>
            Gets the Unique RSA Claim from the SAML token.
            </summary>
      <param name="cs">the claimset which contains the claim</param>
      <returns>a RSA claim</returns>
      <requires exception="T:System.ArgumentNullException">cs != null</requires>
      <exception cref="T:System.ArgumentNullException">cs == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenUtility.ComputeCombinedId(System.Security.Cryptography.RSA,System.String)">
      <summary>
            Does the actual calculation of a combined ID from a value and an RSA key.
            </summary>
      <param name="issuerKey">The key of the issuer of the token</param>
      <param name="claimValue">the claim value to hash with.</param>
      <returns>A base64 representation of the combined ID.</returns>
      <requires exception="T:System.ArgumentNullException">issuerKey != null</requires>
      <exception cref="T:System.ArgumentNullException">issuerKey == null</exception>
      <requires exception="T:System.ArgumentNullException">claimValue != null</requires>
      <exception cref="T:System.ArgumentNullException">claimValue == null</exception>
      <ensures>Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.TokenUtility.MaximumClockSkew">
      <summary>
            Gets the maximum amount the token can be out of sync with time.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.TokenDecryptor">
      <summary>
            A utility class for decrypting InfoCard tokens.
            </summary>
      <invariant>this.Tokens != null</invariant>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.TokenDecryptor.tokens">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.InfoCard.TokenDecryptor.Tokens" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenDecryptor.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.InfoCard.TokenDecryptor" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenDecryptor.AddDecryptionCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2)">
      <summary>
            Adds a certificate to the list of certificates to decrypt with.
            </summary>
      <param name="certificate">The x509 cert to use for decryption</param>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenDecryptor.AddDecryptionCertificate(System.Security.Cryptography.X509Certificates.StoreName,System.Security.Cryptography.X509Certificates.StoreLocation,System.String)">
      <summary>
            Adds a certificate to the list of certificates to decrypt with.
            </summary>
      <param name="storeName">store name of the certificate</param>
      <param name="storeLocation">store location</param>
      <param name="thumbprint">thumbprint of the cert to use</param>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenDecryptor.AddDecryptionCertificates(System.Security.Cryptography.X509Certificates.StoreName,System.Security.Cryptography.X509Certificates.StoreLocation)">
      <summary>
            Adds a store of certificates to the list of certificates to decrypt with.
            </summary>
      <param name="storeName">store name of the certificates</param>
      <param name="storeLocation">store location</param>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenDecryptor.DecryptToken(System.Xml.XmlReader)">
      <summary>
            Decrpyts a security token from an XML EncryptedData 
            </summary>
      <param name="reader">The encrypted token XML reader.</param>
      <returns>A byte array of the contents of the encrypted token</returns>
      <requires exception="T:System.ArgumentNullException">reader != null</requires>
      <exception cref="T:System.ArgumentNullException">reader == null</exception>
      <ensures>Contract.Result&lt;byte[]&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenDecryptor.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenDecryptor.AddDecryptionCertificates(System.Security.Cryptography.X509Certificates.StoreName,System.Security.Cryptography.X509Certificates.StoreLocation,System.Func{System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Security.Cryptography.X509Certificates.X509Certificate2Collection})">
      <summary>
            Adds a store of certificates to the list of certificates to decrypt with.
            </summary>
      <param name="storeName">store name of the certificates</param>
      <param name="storeLocation">store location</param>
      <param name="filter">A filter to on the certificates to add.</param>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.TokenDecryptor.Tokens">
      <summary>
            Gets a list of possible decryption certificates, from the store/location set
            </summary>
      <remarks>
            Defaults to localmachine:my (same place SSL certs are)
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.TokenDecryptor.XmlEncryptionStrings">
      <summary>
            A set of strings used in parsing the XML token.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.TokenDecryptor.XmlEncryptionStrings.Namespace">
      <summary>
            The "http://www.w3.org/2001/04/xmlenc#" value.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.TokenDecryptor.XmlEncryptionStrings.EncryptionMethod">
      <summary>
            The "EncryptionMethod" value.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.TokenDecryptor.XmlEncryptionStrings.CipherValue">
      <summary>
            The "CipherValue" value.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.TokenDecryptor.XmlEncryptionStrings.Algorithm">
      <summary>
            The "Algorithm" value.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.TokenDecryptor.XmlEncryptionStrings.EncryptedData">
      <summary>
            The "EncryptedData" value.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.TokenDecryptor.XmlEncryptionStrings.CipherData">
      <summary>
            The "CipherData" value.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.WellKnownIssuers">
      <summary>
            Common InfoCard issuers.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.WellKnownIssuers.SelfIssued">
      <summary>
            The Issuer URI to use for self-issued cards.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.WellKnownIssuers.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.InfoCard.WellKnownIssuers" /> class from being created.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.CachedDirectWebResponse">
      <summary>
            Cached details on the response from a direct web request to a remote party.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IncomingWebResponse">
      <summary>
            Details on the incoming response from a direct web request to a remote party.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.IncomingWebResponse.DefaultContentEncoding">
      <summary>
            The encoding to use in reading a response that does not declare its own content encoding.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IncomingWebResponse.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IncomingWebResponse.#ctor(System.Uri,System.Net.HttpWebResponse)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> class.
            </summary>
      <param name="requestUri">The original request URI.</param>
      <param name="response">The response to initialize from.  The network stream is used by this class directly.</param>
      <requires exception="T:System.ArgumentNullException">requestUri != null</requires>
      <exception cref="T:System.ArgumentNullException">requestUri == null</exception>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IncomingWebResponse.#ctor(System.Uri,System.Uri,System.Net.WebHeaderCollection,System.Net.HttpStatusCode,System.String,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> class.
            </summary>
      <param name="requestUri">The request URI.</param>
      <param name="responseUri">The final URI to respond to the request.</param>
      <param name="headers">The headers.</param>
      <param name="statusCode">The status code.</param>
      <param name="contentType">Type of the content.</param>
      <param name="contentEncoding">The content encoding.</param>
      <requires exception="T:System.ArgumentNullException">requestUri != null</requires>
      <exception cref="T:System.ArgumentNullException">requestUri == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IncomingWebResponse.ToString">
      <summary>
            Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </summary>
      <returns>
            A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </returns>
      <ensures inheritedFrom="M:System.Object.ToString" inheritedFromTypeName="Object">Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IncomingWebResponse.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IncomingWebResponse.GetResponseReader">
      <summary>
            Creates a text reader for the response stream.
            </summary>
      <returns>The text reader, initialized for the proper encoding.</returns>
      <ensures>Contract.Result&lt;StreamReader&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IncomingWebResponse.GetSnapshot(System.Int32)">
      <summary>
            Gets an offline snapshot version of this instance.
            </summary>
      <param name="maximumBytesToCache">The maximum bytes from the response stream to cache.</param>
      <returns>A snapshot version of this instance.</returns>
      <remarks>
            If this instance is a <see cref="T:DotNetOpenAuth.Messaging.NetworkDirectWebResponse" /> creating a snapshot
            will automatically close and dispose of the underlying response stream.
            If this instance is a <see cref="T:DotNetOpenAuth.Messaging.CachedDirectWebResponse" />, the result will
            be the self same instance.
            </remarks>
      <requires exception="T:System.ArgumentOutOfRangeException">maximumBytesToCache &gt;= 0</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">maximumBytesToCache &lt; 0</exception>
      <requires exception="T:System.InvalidOperationException">this.RequestUri != null</requires>
      <exception cref="T:System.InvalidOperationException">this.RequestUri == null</exception>
      <ensures>Contract.Result&lt;CachedDirectWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IncomingWebResponse.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IncomingWebResponse.ContentType">
      <summary>
            Gets the type of the content.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IncomingWebResponse.ContentEncoding">
      <summary>
            Gets the content encoding.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IncomingWebResponse.RequestUri">
      <summary>
            Gets the URI of the initial request.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IncomingWebResponse.FinalUri">
      <summary>
            Gets the URI that finally responded to the request.
            </summary>
      <remarks>
            This can be different from the <see cref="P:DotNetOpenAuth.Messaging.IncomingWebResponse.RequestUri" /> in cases of 
            redirection during the request.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IncomingWebResponse.Headers">
      <summary>
            Gets the headers that must be included in the response to the user agent.
            </summary>
      <remarks>
            The headers in this collection are not meant to be a comprehensive list
            of exactly what should be sent, but are meant to augment whatever headers
            are generally included in a typical response.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IncomingWebResponse.Status">
      <summary>
            Gets the HTTP status code to use in the HTTP response.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IncomingWebResponse.ResponseStream">
      <summary>
            Gets the body of the HTTP response.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.CachedDirectWebResponse.responseStream">
      <summary>
            A seekable, repeatable response stream.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.CachedDirectWebResponse.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.CachedDirectWebResponse" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.CachedDirectWebResponse.#ctor(System.Uri,System.Net.HttpWebResponse,System.Int32)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.CachedDirectWebResponse" /> class.
            </summary>
      <param name="requestUri">The request URI.</param>
      <param name="response">The response.</param>
      <param name="maximumBytesToRead">The maximum bytes to read.</param>
      <requires exception="T:System.ArgumentNullException">requestUri != null</requires>
      <exception cref="T:System.ArgumentNullException">requestUri == null</exception>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.CachedDirectWebResponse.#ctor(System.Uri,System.Uri,System.Net.WebHeaderCollection,System.Net.HttpStatusCode,System.String,System.String,System.IO.MemoryStream)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.CachedDirectWebResponse" /> class.
            </summary>
      <param name="requestUri">The request URI.</param>
      <param name="responseUri">The final URI to respond to the request.</param>
      <param name="headers">The headers.</param>
      <param name="statusCode">The status code.</param>
      <param name="contentType">Type of the content.</param>
      <param name="contentEncoding">The content encoding.</param>
      <param name="responseStream">The response stream.</param>
      <requires exception="T:System.ArgumentNullException">requestUri != null</requires>
      <exception cref="T:System.ArgumentNullException">requestUri == null</exception>
      <requires exception="T:System.ArgumentNullException">responseStream != null</requires>
      <exception cref="T:System.ArgumentNullException">responseStream == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.CachedDirectWebResponse.GetResponseReader">
      <summary>
            Creates a text reader for the response stream.
            </summary>
      <returns>The text reader, initialized for the proper encoding.</returns>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IncomingWebResponse.GetResponseReader" inheritedFromTypeName="IncomingWebResponse">Contract.Result&lt;StreamReader&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.CachedDirectWebResponse.GetResponseString">
      <summary>
            Gets the body of the response as a string.
            </summary>
      <returns>The entire body of the response.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.CachedDirectWebResponse.GetSnapshot(System.Int32)">
      <summary>
            Gets an offline snapshot version of this instance.
            </summary>
      <param name="maximumBytesToCache">The maximum bytes from the response stream to cache.</param>
      <returns>A snapshot version of this instance.</returns>
      <remarks>
            If this instance is a <see cref="T:DotNetOpenAuth.Messaging.NetworkDirectWebResponse" /> creating a snapshot
            will automatically close and dispose of the underlying response stream.
            If this instance is a <see cref="T:DotNetOpenAuth.Messaging.CachedDirectWebResponse" />, the result will
            be the self same instance.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IncomingWebResponse.GetSnapshot(System.Int32)" inheritedFromTypeName="IncomingWebResponse" exception="T:System.ArgumentOutOfRangeException">maximumBytesToCache &gt;= 0</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">maximumBytesToCache &lt; 0</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IncomingWebResponse.GetSnapshot(System.Int32)" inheritedFromTypeName="IncomingWebResponse" exception="T:System.InvalidOperationException">this.RequestUri != null</requires>
      <exception cref="T:System.InvalidOperationException">this.RequestUri == null</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IncomingWebResponse.GetSnapshot(System.Int32)" inheritedFromTypeName="IncomingWebResponse">Contract.Result&lt;CachedDirectWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.CachedDirectWebResponse.SetResponse(System.String)">
      <summary>
            Sets the response to some string, encoded as UTF-8.
            </summary>
      <param name="body">The string to set the response to.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.CachedDirectWebResponse.CacheNetworkStreamAndClose(System.Net.HttpWebResponse,System.Int32)">
      <summary>
            Caches the network stream and closes it if it is open.
            </summary>
      <param name="response">The response whose stream is to be cloned.</param>
      <param name="maximumBytesToRead">The maximum bytes to cache.</param>
      <returns>The seekable Stream instance that contains a copy of what was returned in the HTTP response.</returns>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
      <ensures>Contract.Result&lt;MemoryStream&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.CachedDirectWebResponse.ResponseTruncated">
      <summary>
            Gets a value indicating whether the cached response stream was
            truncated to a maximum allowable length.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.CachedDirectWebResponse.ResponseStream">
      <summary>
            Gets the body of the HTTP response.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.CachedDirectWebResponse.CachedResponseStream">
      <summary>
            Gets or sets the cached response stream.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.ChannelContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.Messaging.Channel" /> class.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Channel">
      <summary>
            Manages sending direct messages to a remote party and receiving responses.
            </summary>
      <invariant>this.MessageDescriptions != null</invariant>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Channel.HttpFormUrlEncoded">
      <summary>
            The content-type used on HTTP POST requests where the POST entity is a
            URL-encoded series of key=value pairs.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Channel.RedirectResponseBodyFormat">
      <summary>
            The HTML that should be returned to the user agent as part of a 301 Redirect.
            </summary>
      <value>A string that should be used as the first argument to String.Format, where the {0} should be replaced with the URL to redirect to.</value>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Channel.IndirectMessageFormPostFormat">
      <summary>
            The template for indirect messages that require form POST to forward through the user agent.
            </summary>
      <remarks>
            We are intentionally using " instead of the html single quote ' below because
            the HtmlEncode'd values that we inject will only escape the double quote, so
            only the double-quote used around these values is safe.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Channel.PostEntityEncoding">
      <summary>
            The encoding to use when writing out POST entity strings.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Channel.HttpFormUrlEncodedContentType">
      <summary>
            The content-type used on HTTP POST requests where the POST entity is a
            URL-encoded series of key=value pairs.
            This includes the <see cref="F:DotNetOpenAuth.Messaging.Channel.PostEntityEncoding" /> character encoding.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Channel.outgoingBindingElements">
      <summary>
            A list of binding elements in the order they must be applied to outgoing messages.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Channel.incomingBindingElements">
      <summary>
            A list of binding elements in the order they must be applied to incoming messages.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Channel.defaultMessageDescriptions">
      <summary>
            The default cache of message descriptions to use unless they are customized.
            </summary>
      <remarks>
            This is a perf optimization, so that we don't reflect over every message type
            every time a channel is constructed.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Channel.messageDescriptions">
      <summary>
            A cache of reflected message types that may be sent or received on this channel.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Channel.messageTypeProvider">
      <summary>
            A tool that can figure out what kind of message is being received
            so it can be deserialized.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Channel.cachePolicy">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.Messaging.Channel.CachePolicy" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Channel.maximumIndirectMessageUrlLength">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Messaging.Channel.MaximumIndirectMessageUrlLength" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.#ctor(DotNetOpenAuth.Messaging.IMessageFactory,DotNetOpenAuth.Messaging.IChannelBindingElement[])">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Channel" /> class.
            </summary>
      <param name="messageTypeProvider">
            A class prepared to analyze incoming messages and indicate what concrete
            message types can deserialize from it.
            </param>
      <param name="bindingElements">The binding elements to use in sending and receiving messages.</param>
      <requires exception="T:System.ArgumentNullException">messageTypeProvider != null</requires>
      <exception cref="T:System.ArgumentNullException">messageTypeProvider == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.Send(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Sends an indirect message (either a request or response) 
            or direct message response for transmission to a remote party
            and ends execution on the current page or handler.
            </summary>
      <param name="message">The one-way message to send</param>
      <exception cref="T:System.Threading.ThreadAbortException">Thrown by ASP.NET in order to prevent additional data from the page being sent to the client and corrupting the response.</exception>
      <remarks>
            Requires an HttpContext.Current context.
            </remarks>
      <requires exception="T:System.InvalidOperationException">HttpContext.Current != null</requires>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null</exception>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.PrepareResponse(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares an indirect message (either a request or response) 
            or direct message response for transmission to a remote party.
            </summary>
      <param name="message">The one-way message to send</param>
      <returns>The pending user agent redirect based message to be sent as an HttpResponse.</returns>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <ensures>Contract.Result&lt;OutgoingWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ReadFromRequest">
      <summary>
            Gets the protocol message embedded in the given HTTP request, if present.
            </summary>
      <returns>The deserialized message, if one is found.  Null otherwise.</returns>
      <remarks>
            Requires an HttpContext.Current context.
            </remarks>
      <exception cref="T:System.InvalidOperationException">Thrown when <see cref="P:System.Web.HttpContext.Current" /> is null.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.TryReadFromRequest``1(``0@)">
      <summary>
            Gets the protocol message embedded in the given HTTP request, if present.
            </summary>
      <typeparam name="TRequest">The expected type of the message to be received.</typeparam>
      <param name="request">The deserialized message, if one is found.  Null otherwise.</param>
      <returns>True if the expected message was recognized and deserialized.  False otherwise.</returns>
      <remarks>
            Requires an HttpContext.Current context.
            </remarks>
      <exception cref="T:System.InvalidOperationException">Thrown when <see cref="P:System.Web.HttpContext.Current" /> is null.</exception>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown when a request message of an unexpected type is received.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.TryReadFromRequest``1(DotNetOpenAuth.Messaging.HttpRequestInfo,``0@)">
      <summary>
            Gets the protocol message embedded in the given HTTP request, if present.
            </summary>
      <typeparam name="TRequest">The expected type of the message to be received.</typeparam>
      <param name="httpRequest">The request to search for an embedded message.</param>
      <param name="request">The deserialized message, if one is found.  Null otherwise.</param>
      <returns>True if the expected message was recognized and deserialized.  False otherwise.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown when <see cref="P:System.Web.HttpContext.Current" /> is null.</exception>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown when a request message of an unexpected type is received.</exception>
      <requires exception="T:System.ArgumentNullException">httpRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">httpRequest == null</exception>
      <ensures>Contract.Result&lt;bool&gt;() == (Contract.ValueAtReturn&lt;TRequest&gt;(out request) != null)</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ReadFromRequest``1">
      <summary>
            Gets the protocol message embedded in the current HTTP request.
            </summary>
      <typeparam name="TRequest">The expected type of the message to be received.</typeparam>
      <returns>The deserialized message.  Never null.</returns>
      <remarks>
            Requires an HttpContext.Current context.
            </remarks>
      <exception cref="T:System.InvalidOperationException">Thrown when <see cref="P:System.Web.HttpContext.Current" /> is null.</exception>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the expected message was not recognized in the response.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ReadFromRequest``1(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Gets the protocol message embedded in the given HTTP request.
            </summary>
      <typeparam name="TRequest">The expected type of the message to be received.</typeparam>
      <param name="httpRequest">The request to search for an embedded message.</param>
      <returns>The deserialized message.  Never null.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the expected message was not recognized in the response.</exception>
      <requires exception="T:System.ArgumentNullException">httpRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">httpRequest == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ReadFromRequest(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Gets the protocol message that may be embedded in the given HTTP request.
            </summary>
      <param name="httpRequest">The request to search for an embedded message.</param>
      <returns>The deserialized message, if one is found.  Null otherwise.</returns>
      <requires exception="T:System.ArgumentNullException">httpRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">httpRequest == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.Request``1(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Sends a direct message to a remote party and waits for the response.
            </summary>
      <typeparam name="TResponse">The expected type of the message to be received.</typeparam>
      <param name="requestMessage">The message to send.</param>
      <returns>The remote party's response.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown if no message is recognized in the response
            or an unexpected type of message is received.
            </exception>
      <requires exception="T:System.ArgumentNullException">requestMessage != null</requires>
      <exception cref="T:System.ArgumentNullException">requestMessage == null</exception>
      <ensures>Contract.Result&lt;TResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.Request(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Sends a direct message to a remote party and waits for the response.
            </summary>
      <param name="requestMessage">The message to send.</param>
      <returns>The remote party's response.  Guaranteed to never be null.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the response does not include a protocol message.</exception>
      <requires exception="T:System.ArgumentNullException">requestMessage != null</requires>
      <exception cref="T:System.ArgumentNullException">requestMessage == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ProcessIncomingMessageTestHook(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Verifies the integrity and applicability of an incoming message.
            </summary>
      <param name="message">The message just received.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the message is somehow invalid.
            This can be due to tampering, replay attack or expiration, among other things.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.CreateHttpRequestTestHook(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Prepares an HTTP request that carries a given message.
            </summary>
      <param name="request">The message to send.</param>
      <returns>The <see cref="T:System.Net.HttpWebRequest" /> prepared to send the request.</returns>
      <remarks>
            This method must be overridden by a derived class, unless the <see cref="M:DotNetOpenAuth.Messaging.Channel.RequestCore(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)" /> method
            is overridden and does not require this method.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.PrepareDirectResponseTestHook(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Queues a message for sending in the response stream where the fields
            are sent in the response stream in querystring style.
            </summary>
      <param name="response">The message to send as a response.</param>
      <returns>The pending user agent redirect based message to be sent as an HttpResponse.</returns>
      <remarks>
            This method implements spec OAuth V1.0 section 5.3.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ReadFromResponseCoreTestHook(DotNetOpenAuth.Messaging.IncomingWebResponse)">
      <summary>
            Gets the protocol message that may be in the given HTTP response.
            </summary>
      <param name="response">The response that is anticipated to contain an protocol message.</param>
      <returns>The deserialized message parts, if found.  Null otherwise.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown when the response is not valid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ProcessOutgoingMessageTestHook(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <remarks>
            	This method should NOT be called by derived types
            	except when sending ONE WAY request messages.
            </remarks>
      <summary>
            Prepares a message for transmit by applying signatures, nonces, etc.
            </summary>
      <param name="message">The message to prepare for sending.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.GetRequestFromContext">
      <summary>
            Gets the current HTTP request being processed.
            </summary>
      <returns>The HttpRequestInfo for the current request.</returns>
      <remarks>
            Requires an <see cref="P:System.Web.HttpContext.Current" /> context.
            </remarks>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> == <c>null</c>.</exception>
      <requires exception="T:System.InvalidOperationException">HttpContext.Current != null &amp;&amp; HttpContext.Current.Request != null</requires>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null || HttpContext.Current.Request == null</exception>
      <ensures>Contract.Result&lt;HttpRequestInfo&gt;() != null</ensures>
      <ensures>Contract.Result&lt;HttpRequestInfo&gt;().Url != null</ensures>
      <ensures>Contract.Result&lt;HttpRequestInfo&gt;().RawUrl != null</ensures>
      <ensures>Contract.Result&lt;HttpRequestInfo&gt;().UrlBeforeRewriting != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.HttpMethodHasEntity(System.String)">
      <summary>
            Checks whether a given HTTP method is expected to include an entity body in its request.
            </summary>
      <param name="httpMethod">The HTTP method.</param>
      <returns>
        <c>true</c> if the HTTP method is supposed to have an entity; <c>false</c> otherwise.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.OnSending(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.Messaging.Channel.Sending" /> event.
            </summary>
      <param name="message">The message about to be encoded and sent.</param>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.GetDirectResponse(System.Net.HttpWebRequest)">
      <summary>
            Gets the direct response of a direct HTTP request.
            </summary>
      <param name="webRequest">The web request.</param>
      <returns>The response to the web request.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown on network or protocol errors.</exception>
      <requires exception="T:System.ArgumentNullException">webRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">webRequest == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.RequestCore(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Submits a direct request message to some remote party and blocks waiting for an immediately reply.
            </summary>
      <param name="request">The request message.</param>
      <returns>The response message, or null if the response did not carry a message.</returns>
      <remarks>
            Typically a deriving channel will override <see cref="M:DotNetOpenAuth.Messaging.Channel.CreateHttpRequest(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)" /> to customize this method's
            behavior.  However in non-HTTP frameworks, such as unit test mocks, it may be appropriate to override 
            this method to eliminate all use of an HTTP transport.
            </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentException">request.Recipient != null</requires>
      <exception cref="T:System.ArgumentException">request.Recipient == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.OnReceivingDirectResponse(DotNetOpenAuth.Messaging.IncomingWebResponse,DotNetOpenAuth.Messaging.IDirectResponseProtocolMessage)">
      <summary>
            Called when receiving a direct response message, before deserialization begins.
            </summary>
      <param name="response">The HTTP direct response.</param>
      <param name="message">The newly instantiated message, prior to deserialization.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ReadFromRequestCore(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Gets the protocol message that may be embedded in the given HTTP request.
            </summary>
      <param name="request">The request to search for an embedded message.</param>
      <returns>The deserialized message, if one is found.  Null otherwise.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.Receive(System.Collections.Generic.Dictionary{System.String,System.String},DotNetOpenAuth.Messaging.MessageReceivingEndpoint)">
      <summary>
            Deserializes a dictionary of values into a message.
            </summary>
      <param name="fields">The dictionary of values that were read from an HTTP request or response.</param>
      <param name="recipient">Information about where the message was directed.  Null for direct response messages.</param>
      <returns>The deserialized message, or null if no message could be recognized in the provided data.</returns>
      <requires exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.PrepareIndirectResponse(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Queues an indirect message for transmittal via the user agent.
            </summary>
      <param name="message">The message to send.</param>
      <returns>The pending user agent redirect based message to be sent as an HttpResponse.</returns>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires exception="T:System.ArgumentException">message.Recipient != null</requires>
      <exception cref="T:System.ArgumentException">message.Recipient == null</exception>
      <ensures>Contract.Result&lt;OutgoingWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.Create301RedirectResponse(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Encodes an HTTP response that will instruct the user agent to forward a message to
            some remote third party using a 301 Redirect GET method.
            </summary>
      <param name="message">The message to forward.</param>
      <param name="fields">The pre-serialized fields from the message.</param>
      <returns>The encoded HTTP response.</returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires exception="T:System.ArgumentException">message.Recipient != null</requires>
      <exception cref="T:System.ArgumentException">message.Recipient == null</exception>
      <requires exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
      <ensures>Contract.Result&lt;OutgoingWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.CreateFormPostResponse(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Encodes an HTTP response that will instruct the user agent to forward a message to
            some remote third party using a form POST method.
            </summary>
      <param name="message">The message to forward.</param>
      <param name="fields">The pre-serialized fields from the message.</param>
      <returns>The encoded HTTP response.</returns>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires exception="T:System.ArgumentException">message.Recipient != null</requires>
      <exception cref="T:System.ArgumentException">message.Recipient == null</exception>
      <requires exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
      <ensures>Contract.Result&lt;OutgoingWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ReadFromResponseCore(DotNetOpenAuth.Messaging.IncomingWebResponse)">
      <summary>
            Gets the protocol message that may be in the given HTTP response.
            </summary>
      <param name="response">The response that is anticipated to contain an protocol message.</param>
      <returns>The deserialized message parts, if found.  Null otherwise.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown when the response is not valid.</exception>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.CreateHttpRequest(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Prepares an HTTP request that carries a given message.
            </summary>
      <param name="request">The message to send.</param>
      <returns>The <see cref="T:System.Net.HttpWebRequest" /> prepared to send the request.</returns>
      <remarks>
            This method must be overridden by a derived class, unless the <see cref="M:DotNetOpenAuth.Messaging.Channel.RequestCore(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)" /> method
            is overridden and does not require this method.
            </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentException">request.Recipient != null</requires>
      <exception cref="T:System.ArgumentException">request.Recipient == null</exception>
      <ensures>Contract.Result&lt;HttpWebRequest&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.PrepareDirectResponse(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Queues a message for sending in the response stream where the fields
            are sent in the response stream in querystring style.
            </summary>
      <param name="response">The message to send as a response.</param>
      <returns>The pending user agent redirect based message to be sent as an HttpResponse.</returns>
      <remarks>
            This method implements spec OAuth V1.0 section 5.3.
            </remarks>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
      <ensures>Contract.Result&lt;OutgoingWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for transmit by applying signatures, nonces, etc.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <remarks>
            This method should NOT be called by derived types
            except when sending ONE WAY request messages.
            </remarks>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.InitializeRequestAsGet(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Prepares to send a request to the Service Provider as the query string in a GET request.
            </summary>
      <param name="requestMessage">The message to be transmitted to the ServiceProvider.</param>
      <returns>The web request ready to send.</returns>
      <remarks>
            This method is simply a standard HTTP Get request with the message parts serialized to the query string.
            This method satisfies OAuth 1.0 section 5.2, item #3.
            </remarks>
      <requires exception="T:System.ArgumentNullException">requestMessage != null</requires>
      <exception cref="T:System.ArgumentNullException">requestMessage == null</exception>
      <requires exception="T:System.ArgumentException">requestMessage.Recipient != null</requires>
      <exception cref="T:System.ArgumentException">requestMessage.Recipient == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.InitializeRequestAsHead(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Prepares to send a request to the Service Provider as the query string in a HEAD request.
            </summary>
      <param name="requestMessage">The message to be transmitted to the ServiceProvider.</param>
      <returns>The web request ready to send.</returns>
      <remarks>
            This method is simply a standard HTTP HEAD request with the message parts serialized to the query string.
            This method satisfies OAuth 1.0 section 5.2, item #3.
            </remarks>
      <requires exception="T:System.ArgumentNullException">requestMessage != null</requires>
      <exception cref="T:System.ArgumentNullException">requestMessage == null</exception>
      <requires exception="T:System.ArgumentException">requestMessage.Recipient != null</requires>
      <exception cref="T:System.ArgumentException">requestMessage.Recipient == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.InitializeRequestAsPost(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Prepares to send a request to the Service Provider as the payload of a POST request.
            </summary>
      <param name="requestMessage">The message to be transmitted to the ServiceProvider.</param>
      <returns>The web request ready to send.</returns>
      <remarks>
            This method is simply a standard HTTP POST request with the message parts serialized to the POST entity
            with the application/x-www-form-urlencoded content type
            This method satisfies OAuth 1.0 section 5.2, item #2 and OpenID 2.0 section 4.1.2.
            </remarks>
      <requires exception="T:System.ArgumentNullException">requestMessage != null</requires>
      <exception cref="T:System.ArgumentNullException">requestMessage == null</exception>
      <ensures>Contract.Result&lt;HttpWebRequest&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.InitializeRequestAsPut(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Prepares to send a request to the Service Provider as the query string in a PUT request.
            </summary>
      <param name="requestMessage">The message to be transmitted to the ServiceProvider.</param>
      <returns>The web request ready to send.</returns>
      <remarks>
            This method is simply a standard HTTP PUT request with the message parts serialized to the query string.
            </remarks>
      <requires exception="T:System.ArgumentNullException">requestMessage != null</requires>
      <exception cref="T:System.ArgumentNullException">requestMessage == null</exception>
      <ensures>Contract.Result&lt;HttpWebRequest&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.InitializeRequestAsDelete(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Prepares to send a request to the Service Provider as the query string in a DELETE request.
            </summary>
      <param name="requestMessage">The message to be transmitted to the ServiceProvider.</param>
      <returns>The web request ready to send.</returns>
      <remarks>
            This method is simply a standard HTTP DELETE request with the message parts serialized to the query string.
            </remarks>
      <requires exception="T:System.ArgumentNullException">requestMessage != null</requires>
      <exception cref="T:System.ArgumentNullException">requestMessage == null</exception>
      <ensures>Contract.Result&lt;HttpWebRequest&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.SendParametersInEntity(System.Net.HttpWebRequest,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Sends the given parameters in the entity stream of an HTTP request.
            </summary>
      <param name="httpRequest">The HTTP request.</param>
      <param name="fields">The parameters to send.</param>
      <remarks>
            This method calls <see cref="M:System.Net.HttpWebRequest.GetRequestStream" /> and closes
            the request stream, but does not call <see cref="M:System.Net.HttpWebRequest.GetResponse" />.
            </remarks>
      <requires exception="T:System.ArgumentNullException">httpRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">httpRequest == null</exception>
      <requires exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.SendParametersInEntityAsMultipart(System.Net.HttpWebRequest,System.Collections.Generic.IEnumerable{DotNetOpenAuth.Messaging.MultipartPostPart})">
      <summary>
            Sends the given parameters in the entity stream of an HTTP request in multi-part format.
            </summary>
      <param name="httpRequest">The HTTP request.</param>
      <param name="fields">The parameters to send.</param>
      <remarks>
            This method calls <see cref="M:System.Net.HttpWebRequest.GetRequestStream" /> and closes
            the request stream, but does not call <see cref="M:System.Net.HttpWebRequest.GetResponse" />.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Verifies the integrity and applicability of an incoming message.
            </summary>
      <param name="message">The message just received.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the message is somehow invalid.
            This can be due to tampering, replay attack or expiration, among other things.
            </exception>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.CustomizeBindingElementOrder(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Messaging.IChannelBindingElement},System.Collections.Generic.IEnumerable{DotNetOpenAuth.Messaging.IChannelBindingElement})">
      <summary>
            Customizes the binding element order for outgoing and incoming messages.
            </summary>
      <param name="outgoingOrder">The outgoing order.</param>
      <param name="incomingOrder">The incoming order.</param>
      <remarks>
            No binding elements can be added or removed from the channel using this method.
            Only a customized order is allowed.
            </remarks>
      <exception cref="T:System.ArgumentException">Thrown if a binding element is new or missing in one of the ordered lists.</exception>
      <requires exception="T:System.ArgumentNullException">outgoingOrder != null</requires>
      <exception cref="T:System.ArgumentNullException">outgoingOrder == null</exception>
      <requires exception="T:System.ArgumentNullException">incomingOrder != null</requires>
      <exception cref="T:System.ArgumentNullException">incomingOrder == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ValidateAndPrepareBindingElements(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Messaging.IChannelBindingElement})">
      <summary>
            Ensures a consistent and secure set of binding elements and 
            sorts them as necessary for a valid sequence of operations.
            </summary>
      <param name="elements">The binding elements provided to the channel.</param>
      <returns>The properly ordered list of elements.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown when the binding elements are incomplete or inconsistent with each other.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.BindingElementOutgoingMessageApplicationOrder(DotNetOpenAuth.Messaging.MessageProtections,DotNetOpenAuth.Messaging.MessageProtections)">
      <summary>
            Puts binding elements in their correct outgoing message processing order.
            </summary>
      <param name="protection1">The first protection type to compare.</param>
      <param name="protection2">The second protection type to compare.</param>
      <returns>
            -1 if <paramref name="protection1" /> should be applied to an outgoing message before <paramref name="protection2" />.
            1 if <paramref name="protection2" /> should be applied to an outgoing message before <paramref name="protection1" />.
            0 if it doesn't matter.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.EnsureValidMessageParts(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Verifies that all required message parts are initialized to values
            prior to sending the message to a remote party.
            </summary>
      <param name="message">The message to verify.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when any required message part does not have a value.
            </exception>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Channel.IsBindingElementOrderValid(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Messaging.IChannelBindingElement})">
      <summary>
            Determines whether a given ordered list of binding elements includes every
            binding element in this channel exactly once.
            </summary>
      <param name="order">The list of binding elements to test.</param>
      <returns>
        <c>true</c> if the given list is a valid description of a binding element ordering; otherwise, <c>false</c>.
            </returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">order != null</requires>
      <exception cref="T:System.ArgumentNullException">order == null</exception>
    </member>
    <member name="E:DotNetOpenAuth.Messaging.Channel.Sending">
      <summary>
            An event fired whenever a message is about to be encoded and sent.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Channel.WebRequestHandler">
      <summary>
            Gets or sets an instance to a <see cref="T:DotNetOpenAuth.Messaging.IDirectWebRequestHandler" /> that will be used when 
            submitting HTTP requests and waiting for responses.
            </summary>
      <remarks>
            This defaults to a straightforward implementation, but can be set
            to a mock object for testing purposes.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Channel.MaximumIndirectMessageUrlLength">
      <summary>
            Gets or sets the maximum allowable size for a 301 Redirect response before we send
            a 200 OK response with a scripted form POST with the parameters instead
            in order to ensure successfully sending a large payload to another server
            that might have a maximum allowable size restriction on its GET request.
            </summary>
      <value>The default value is 2048.</value>
      <setter>
        <requires exception="T:System.ArgumentOutOfRangeException">value &gt;= 500 &amp;&amp; value &lt;= 4096</requires>
      </setter>
      <exception cref="T:System.ArgumentOutOfRangeException">value &lt; 500 || value &gt; 4096</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Channel.MessageDescriptions">
      <summary>
            Gets or sets the message descriptions.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentNullException">value != null</requires>
      </setter>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Channel.MessageFactoryTestHook">
      <summary>
            Gets a tool that can figure out what kind of message is being received
            so it can be deserialized.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Channel.BindingElements">
      <summary>
            Gets the binding elements used by this channel, in no particular guaranteed order.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;ReadOnlyCollection&lt;IChannelBindingElement&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Channel.OutgoingBindingElements">
      <summary>
            Gets the binding elements used by this channel, in the order applied to outgoing messages.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Channel.IncomingBindingElements">
      <summary>
            Gets the binding elements used by this channel, in the order applied to incoming messages.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;ReadOnlyCollection&lt;IChannelBindingElement&gt;&gt;().All(be =&gt; be.Channel != null)</ensures>
        <ensures>Contract.Result&lt;ReadOnlyCollection&lt;IChannelBindingElement&gt;&gt;().All(be =&gt; be != null)</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Channel.IsDisposed">
      <summary>
            Gets or sets a value indicating whether this instance is disposed.
            </summary>
      <value>
        <c>true</c> if this instance is disposed; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Channel.MessageFactory">
      <summary>
            Gets a tool that can figure out what kind of message is being received
            so it can be deserialized.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Channel.CachePolicy">
      <summary>
            Gets or sets the cache policy to use for direct message requests.
            </summary>
      <value>Default is <see cref="F:System.Net.Cache.HttpRequestCacheLevel.NoCacheNoStore" />.</value>
      <setter>
        <requires exception="T:System.ArgumentNullException">value != null</requires>
      </setter>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ChannelContract.#ctor">
      <summary>
            Prevents a default instance of the ChannelContract class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ChannelContract.ReadFromResponseCore(DotNetOpenAuth.Messaging.IncomingWebResponse)">
      <summary>
            Gets the protocol message that may be in the given HTTP response.
            </summary>
      <param name="response">The response that is anticipated to contain an protocol message.</param>
      <returns>
            The deserialized message parts, if found.  Null otherwise.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown when the response is not valid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ChannelContract.PrepareDirectResponse(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Queues a message for sending in the response stream where the fields
            are sent in the response stream in querystring style.
            </summary>
      <param name="response">The message to send as a response.</param>
      <returns>
            The pending user agent redirect based message to be sent as an HttpResponse.
            </returns>
      <remarks>
            This method implements spec V1.0 section 5.3.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IMessageOriginalPayload">
      <summary>
            An interface that appears on messages that need to retain a description of
            what their literal payload was when they were deserialized.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageOriginalPayload.OriginalPayload">
      <summary>
            Gets or sets the original message parts, before any normalization or default values were assigned.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IMessageOriginalPayloadContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.Messaging.IMessageOriginalPayload" /> interface.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageOriginalPayloadContract.DotNetOpenAuth#Messaging#IMessageOriginalPayload#OriginalPayload">
      <summary>
            Gets or sets the original message parts, before any normalization or default values were assigned.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.DirectWebRequestOptions">
      <summary>
            A set of flags that can control the behavior of an individual web request.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.DirectWebRequestOptions.None">
      <summary>
            Indicates that default <see cref="T:System.Net.HttpWebRequest" /> behavior is required.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.DirectWebRequestOptions.AcceptAllHttpResponses">
      <summary>
            Indicates that any response from the remote server, even those
            with HTTP status codes that indicate errors, should not result
            in a thrown exception.
            </summary>
      <remarks>
            Even with this flag set, <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> should
            be thrown when an HTTP protocol error occurs (i.e. timeouts).
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.DirectWebRequestOptions.RequireSsl">
      <summary>
            Indicates that the HTTP request must be completed entirely 
            using SSL (including any redirects).
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.EnumerableCacheExtensions">
      <summary>
            Extension methods for <see cref="T:System.Collections.Generic.IEnumerable`1" /> types.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.CacheGeneratedResults``1(System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Caches the results of enumerating over a given object so that subsequence enumerations
            don't require interacting with the object a second time.
            </summary>
      <typeparam name="T">The type of element found in the enumeration.</typeparam>
      <param name="sequence">The enumerable object.</param>
      <returns>
            Either a new enumerable object that caches enumerated results, or the original, <paramref name="sequence" />
            object if no caching is necessary to avoid additional CPU work.
            </returns>
      <remarks>
        <para>This is designed for use on the results of generator methods (the ones with <c>yield return</c> in them)
            so that only those elements in the sequence that are needed are ever generated, while not requiring
            regeneration of elements that are enumerated over multiple times.</para>
        <para>This can be a huge performance gain if enumerating multiple times over an expensive generator method.</para>
        <para>Some enumerable types such as collections, lists, and already-cached generators do not require
            any (additional) caching, and this method will simply return those objects rather than caching them
            to avoid double-caching.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">sequence != null</requires>
      <exception cref="T:System.ArgumentNullException">sequence == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1">
      <summary>
            A wrapper for <see cref="T:System.Collections.Generic.IEnumerable`1" /> types and returns a caching <see cref="T:System.Collections.Generic.IEnumerator`1" />
            from its <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator" /> method.
            </summary>
      <typeparam name="T">The type of element in the sequence.</typeparam>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.cache">
      <summary>
            The results from enumeration of the live object that have been collected thus far.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.generator">
      <summary>
            The original generator method or other enumerable object whose contents should only be enumerated once.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.generatorEnumerator">
      <summary>
            The enumerator we're using over the generator method's results.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.generatorLock">
      <summary>
            The sync object our caching enumerators use when adding a new live generator method result to the cache.
            </summary>
      <remarks>
            Although individual enumerators are not thread-safe, this <see cref="T:System.Collections.Generic.IEnumerable`1" /> should be
            thread safe so that multiple enumerators can be created from it and used from different threads.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
      <summary>
            Initializes a new instance of the EnumerableCache class.
            </summary>
      <param name="generator">The generator.</param>
      <requires exception="T:System.ArgumentNullException">generator != null</requires>
      <exception cref="T:System.ArgumentNullException">generator == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.GetEnumerator">
      <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
      <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
            </returns>
      <ensures inheritedFrom="M:System.Collections.Generic.IEnumerable`1.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&lt;T&gt;&gt;() != null</ensures>
      <ensures inheritedFrom="M:System.Collections.Generic.IEnumerable`1.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&lt;T&gt;&gt;().Model == ((IEnumerable)this).Model</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.System#Collections#IEnumerable#GetEnumerator">
      <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
      <returns>
            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
            </returns>
      <ensures inheritedFrom="M:System.Collections.IEnumerable.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&gt;() != null</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerable.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&gt;().Model == this.Model</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerable.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&gt;().CurrentIndex == -1</ensures>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.EnumeratorCache">
      <summary>
            An enumerator that uses cached enumeration results whenever they are available,
            and caches whatever results it has to pull from the original <see cref="T:System.Collections.Generic.IEnumerable`1" /> object.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.EnumeratorCache.parent">
      <summary>
            The parent enumeration wrapper class that stores the cached results.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.EnumeratorCache.cachePosition">
      <summary>
            The position of this enumerator in the cached list.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.EnumeratorCache.#ctor(DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache{`0})">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.EnumeratorCache" /> class.
            </summary>
      <param name="parent">The parent cached enumerable whose GetEnumerator method is calling this constructor.</param>
      <requires exception="T:System.ArgumentNullException">parent != null</requires>
      <exception cref="T:System.ArgumentNullException">parent == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.EnumeratorCache.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.EnumeratorCache.MoveNext">
      <summary>
            Advances the enumerator to the next element of the collection.
            </summary>
      <returns>
            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
            </returns>
      <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
      <ensures inheritedFrom="M:System.Collections.IEnumerator.MoveNext" inheritedFromTypeName="IEnumerator">this.Model == Contract.OldValue(this.Model)</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerator.MoveNext" inheritedFromTypeName="IEnumerator">this.CurrentIndex &lt; this.Model.Length</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerator.MoveNext" inheritedFromTypeName="IEnumerator">this.CurrentIndex &gt;= 0</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerator.MoveNext" inheritedFromTypeName="IEnumerator">this.CurrentIndex == Contract.OldValue(this.CurrentIndex) + 1</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.EnumeratorCache.Reset">
      <summary>
            Sets the enumerator to its initial position, which is before the first element in the collection.
            </summary>
      <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.EnumeratorCache.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.EnumeratorCache.Current">
      <summary>
            Gets the element in the collection at the current position of the enumerator.
            </summary>
      <returns>
            The element in the collection at the current position of the enumerator.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.EnumeratorCache.System#Collections#IEnumerator#Current">
      <summary>
            Gets the element in the collection at the current position of the enumerator.
            </summary>
      <returns>
            The element in the collection at the current position of the enumerator.
            </returns>
      <getter>
        <ensures inheritedFrom="M:System.Collections.IEnumerator.get_Current" inheritedFromTypeName="IEnumerator">Contract.Result&lt;object&gt;() == this.Model[this.CurrentIndex]</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.HostErrorException">
      <summary>
            An exception to call out a configuration or runtime failure on the part of the
            (web) application that is hosting this library.
            </summary>
      <remarks>
        <para>This exception is used rather than <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> for those errors
            that should never be caught because they indicate a major error in the app itself
            or its configuration.</para>
        <para>It is an internal exception to assist in making it uncatchable.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HostErrorException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.HostErrorException" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HostErrorException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.HostErrorException" /> class.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HostErrorException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.HostErrorException" /> class.
            </summary>
      <param name="message">The message.</param>
      <param name="inner">The inner exception.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HostErrorException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.HostErrorException" /> class.
            </summary>
      <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
      <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
      <exception cref="T:System.ArgumentNullException">
            The <paramref name="info" /> parameter is null.
            </exception>
      <exception cref="T:System.Runtime.Serialization.SerializationException">
            The class name is null or <see cref="P:System.Exception.HResult" /> is zero (0).
            </exception>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IHttpDirectResponse">
      <summary>
            An interface that allows direct response messages to specify
            HTTP transport specific properties.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IHttpDirectResponse.HttpStatusCode">
      <summary>
            Gets the HTTP status code that the direct respones should be sent with.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IExtensionMessage">
      <summary>
            An interface that extension messages must implement.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IMessage">
      <summary>
            The interface that classes must implement to be serialized/deserialized
            as protocol or extension messages.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IMessage.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the 
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessage.Version">
      <summary>
            Gets the version of the protocol or extension this message is prepared to implement.
            </summary>
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
      <getter>
        <ensures>Contract.Result&lt;Version&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessage.ExtraData">
      <summary>
            Gets the extra, non-standard Protocol parameters included in the message.
            </summary>
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
      <getter>
        <ensures>Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IMessageContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.Messaging.IMessage" /> interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IMessageContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.Messaging.IMessageContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IMessageContract.DotNetOpenAuth#Messaging#IMessage#EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageContract.DotNetOpenAuth#Messaging#IMessage#Version">
      <summary>
            Gets the version of the protocol or extension this message is prepared to implement.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageContract.DotNetOpenAuth#Messaging#IMessage#ExtraData">
      <summary>
            Gets the extra, non-standard Protocol parameters included in the message.
            </summary>
      <value />
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IDirectResponseProtocolMessage">
      <summary>
            Undirected messages that serve as direct responses to direct requests.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IProtocolMessage">
      <summary>
            The interface that classes must implement to be serialized/deserialized
            as protocol messages.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IProtocolMessage.RequiredProtection">
      <summary>
            Gets the level of protection this message requires.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IProtocolMessage.Transport">
      <summary>
            Gets a value indicating whether this is a direct or indirect message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IDirectResponseProtocolMessage.OriginatingRequest">
      <summary>
            Gets the originating request message that caused this response to be formed.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.EmptyDictionary`2">
      <summary>
            An empty dictionary.  Useful for avoiding memory allocations in creating new dictionaries to represent empty ones.
            </summary>
      <typeparam name="TKey">The type of the key.</typeparam>
      <typeparam name="TValue">The type of the value.</typeparam>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.EmptyDictionary`2.Instance">
      <summary>
            The singleton instance of the empty dictionary.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyDictionary`2.#ctor">
      <summary>
            Prevents a default instance of the EmptyDictionary class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyDictionary`2.Add(`0,`1)">
      <summary>
            Adds an element with the provided key and value to the <see cref="T:System.Collections.Generic.IDictionary`2" />.
            </summary>
      <param name="key">The object to use as the key of the element to add.</param>
      <param name="value">The object to use as the value of the element to add.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
            </exception>
      <exception cref="T:System.ArgumentException">
            An element with the same key already exists in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
            </exception>
      <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyDictionary`2.ContainsKey(`0)">
      <summary>
            Determines whether the <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key.
            </summary>
      <param name="key">The key to locate in the <see cref="T:System.Collections.Generic.IDictionary`2" />.</param>
      <returns>
            true if the <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the key; otherwise, false.
            </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
            </exception>
      <ensures inheritedFrom="M:System.Collections.Generic.IDictionary`2.ContainsKey(`0)" inheritedFromTypeName="IDictionary">!Contract.Result&lt;bool&gt;() || @this.Count &gt; 0</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyDictionary`2.Remove(`0)">
      <summary>
            Removes the element with the specified key from the <see cref="T:System.Collections.Generic.IDictionary`2" />.
            </summary>
      <param name="key">The key of the element to remove.</param>
      <returns>
            true if the element is successfully removed; otherwise, false.  This method also returns false if <paramref name="key" /> was not found in the original <see cref="T:System.Collections.Generic.IDictionary`2" />.
            </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
            </exception>
      <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyDictionary`2.TryGetValue(`0,`1@)">
      <summary>
            Gets the value associated with the specified key.
            </summary>
      <param name="key">The key whose value to get.</param>
      <param name="value">When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the <paramref name="value" /> parameter. This parameter is passed uninitialized.</param>
      <returns>
            true if the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key; otherwise, false.
            </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
            </exception>
      <ensures inheritedFrom="M:System.Collections.Generic.IDictionary`2.TryGetValue(`0,`1@)" inheritedFromTypeName="IDictionary">Contract.Result&lt;bool&gt;() == @this.ContainsKey(key)</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyDictionary`2.Add(System.Collections.Generic.KeyValuePair{`0,`1})">
      <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
      <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
      <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyDictionary`2.Clear">
      <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
      <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </exception>
      <ensures inheritedFrom="M:System.Collections.Generic.ICollection`1.Clear" inheritedFromTypeName="ICollection">this.Count == 0</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
      <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
            </summary>
      <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
      <returns>
            true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyDictionary`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
      <summary>
            Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.
            </summary>
      <param name="array">The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.</param>
      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="array" /> is null.
            </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="arrayIndex" /> is less than 0.
            </exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="array" /> is multidimensional.
            -or-
            <paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.
            -or-
            The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.
            -or-
            Type cannot be cast automatically to the type of the destination <paramref name="array" />.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyDictionary`2.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
      <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
      <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
      <returns>
            true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.
            </returns>
      <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyDictionary`2.GetEnumerator">
      <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
      <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
            </returns>
      <ensures inheritedFrom="M:System.Collections.Generic.IEnumerable`1.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&lt;T&gt;&gt;() != null</ensures>
      <ensures inheritedFrom="M:System.Collections.Generic.IEnumerable`1.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&lt;T&gt;&gt;().Model == ((IEnumerable)this).Model</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyDictionary`2.System#Collections#IEnumerable#GetEnumerator">
      <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
      <returns>
            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
            </returns>
      <ensures inheritedFrom="M:System.Collections.IEnumerable.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&gt;() != null</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerable.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&gt;().Model == this.Model</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerable.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&gt;().CurrentIndex == -1</ensures>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.EmptyDictionary`2.Values">
      <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
            </summary>
      <value />
      <returns>
            An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.
            </returns>
      <getter>
        <ensures inheritedFrom="M:System.Collections.Generic.IDictionary`2.get_Values" inheritedFromTypeName="IDictionary">Contract.Result&lt;ICollection&lt;TValue&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.EmptyDictionary`2.Count">
      <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
      <value />
      <returns>
            The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </returns>
      <getter>
        <ensures inheritedFrom="M:System.Collections.Generic.ICollection`1.get_Count" inheritedFromTypeName="ICollection">Contract.Result&lt;int&gt;() &gt;= 0</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.EmptyDictionary`2.IsReadOnly">
      <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
      <value />
      <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.EmptyDictionary`2.Keys">
      <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2" />.
            </summary>
      <value />
      <returns>
            An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.
            </returns>
      <getter>
        <ensures inheritedFrom="M:System.Collections.Generic.IDictionary`2.get_Keys" inheritedFromTypeName="IDictionary">Contract.Result&lt;ICollection&lt;TKey&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.EmptyDictionary`2.Item(`0)">
      <summary>
            Gets or sets the value with the specified key.
            </summary>
      <param name="key">The key being read or written.</param>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.EmptyEnumerator">
      <summary>
            An enumerator that always generates zero elements.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.EmptyEnumerator.Instance">
      <summary>
            The singleton instance of this empty enumerator.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyEnumerator.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.Messaging.EmptyEnumerator" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyEnumerator.MoveNext">
      <summary>
            Advances the enumerator to the next element of the collection.
            </summary>
      <returns>
            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
            </returns>
      <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
      <ensures inheritedFrom="M:System.Collections.IEnumerator.MoveNext" inheritedFromTypeName="IEnumerator">this.Model == Contract.OldValue(this.Model)</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerator.MoveNext" inheritedFromTypeName="IEnumerator">this.CurrentIndex &lt; this.Model.Length</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerator.MoveNext" inheritedFromTypeName="IEnumerator">this.CurrentIndex &gt;= 0</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerator.MoveNext" inheritedFromTypeName="IEnumerator">this.CurrentIndex == Contract.OldValue(this.CurrentIndex) + 1</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyEnumerator.Reset">
      <summary>
            Sets the enumerator to its initial position, which is before the first element in the collection.
            </summary>
      <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.EmptyEnumerator.Current">
      <summary>
            Gets the current element in the collection.
            </summary>
      <value />
      <returns>
            The current element in the collection.
            </returns>
      <exception cref="T:System.InvalidOperationException">
            The enumerator is positioned before the first element of the collection or after the last element.
            </exception>
      <getter>
        <ensures inheritedFrom="M:System.Collections.IEnumerator.get_Current" inheritedFromTypeName="IEnumerator">Contract.Result&lt;object&gt;() == this.Model[this.CurrentIndex]</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.EmptyList`1">
      <summary>
            An empty, read-only list.
            </summary>
      <typeparam name="T">The type the list claims to include.</typeparam>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.EmptyList`1.Instance">
      <summary>
            The singleton instance of the empty list.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyList`1.#ctor">
      <summary>
            Prevents a default instance of the EmptyList class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyList`1.IndexOf(`0)">
      <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.
            </summary>
      <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1" />.</param>
      <returns>
            The index of <paramref name="item" /> if found in the list; otherwise, -1.
            </returns>
      <ensures inheritedFrom="M:System.Collections.Generic.IList`1.IndexOf(`0)" inheritedFromTypeName="IList">Contract.Result&lt;int&gt;() &gt;= -1</ensures>
      <ensures inheritedFrom="M:System.Collections.Generic.IList`1.IndexOf(`0)" inheritedFromTypeName="IList">Contract.Result&lt;int&gt;() &lt; @this.Count</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyList`1.Insert(System.Int32,`0)">
      <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1" /> at the specified index.
            </summary>
      <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
      <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1" />.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="index" /> is not a valid index in the <see cref="T:System.Collections.Generic.IList`1" />.
            </exception>
      <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.IList`1" /> is read-only.
            </exception>
      <requires inheritedFrom="M:System.Collections.Generic.IList`1.Insert(System.Int32,`0)" inheritedFromTypeName="IList">index &gt;= 0</requires>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyList`1.RemoveAt(System.Int32)">
      <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.
            </summary>
      <param name="index">The zero-based index of the item to remove.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="index" /> is not a valid index in the <see cref="T:System.Collections.Generic.IList`1" />.
            </exception>
      <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.IList`1" /> is read-only.
            </exception>
      <requires inheritedFrom="M:System.Collections.Generic.IList`1.RemoveAt(System.Int32)" inheritedFromTypeName="IList">index &gt;= 0</requires>
      <requires inheritedFrom="M:System.Collections.Generic.IList`1.RemoveAt(System.Int32)" inheritedFromTypeName="IList">index &lt; @this.Count</requires>
      <ensures inheritedFrom="M:System.Collections.Generic.IList`1.RemoveAt(System.Int32)" inheritedFromTypeName="IList">@this.Count == Contract.OldValue(@this.Count) - 1</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyList`1.Add(`0)">
      <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
      <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
      <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyList`1.Clear">
      <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
      <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </exception>
      <ensures inheritedFrom="M:System.Collections.Generic.ICollection`1.Clear" inheritedFromTypeName="ICollection">this.Count == 0</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyList`1.Contains(`0)">
      <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
            </summary>
      <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
      <returns>
            true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyList`1.CopyTo(`0[],System.Int32)">
      <summary>
            Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.
            </summary>
      <param name="array">The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.</param>
      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="array" /> is null.
            </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="arrayIndex" /> is less than 0.
            </exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="array" /> is multidimensional.
            -or-
            <paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.
            -or-
            The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.
            -or-
            Type <typeparamref name="T" /> cannot be cast automatically to the type of the destination <paramref name="array" />.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyList`1.Remove(`0)">
      <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
      <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
      <returns>
            true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.
            </returns>
      <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyList`1.GetEnumerator">
      <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
      <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
            </returns>
      <ensures inheritedFrom="M:System.Collections.Generic.IEnumerable`1.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&lt;T&gt;&gt;() != null</ensures>
      <ensures inheritedFrom="M:System.Collections.Generic.IEnumerable`1.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&lt;T&gt;&gt;().Model == ((IEnumerable)this).Model</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EmptyList`1.System#Collections#IEnumerable#GetEnumerator">
      <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
      <returns>
            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
            </returns>
      <ensures inheritedFrom="M:System.Collections.IEnumerable.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&gt;() != null</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerable.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&gt;().Model == this.Model</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerable.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&gt;().CurrentIndex == -1</ensures>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.EmptyList`1.Count">
      <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
      <value />
      <returns>
            The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </returns>
      <getter>
        <ensures inheritedFrom="M:System.Collections.Generic.ICollection`1.get_Count" inheritedFromTypeName="ICollection">Contract.Result&lt;int&gt;() &gt;= 0</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.EmptyList`1.IsReadOnly">
      <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
      <value />
      <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.EmptyList`1.Item(System.Int32)">
      <summary>
            Gets or sets the <typeparamref name="T" /> at the specified index.
            </summary>
      <param name="index">The index of the element in the list to change.</param>
      <getter>
        <requires inheritedFrom="M:System.Collections.Generic.IList`1.get_Item(System.Int32)" inheritedFromTypeName="IList">index &gt;= 0</requires>
        <requires inheritedFrom="M:System.Collections.Generic.IList`1.get_Item(System.Int32)" inheritedFromTypeName="IList">index &lt; @this.Count</requires>
      </getter>
      <setter>
        <requires inheritedFrom="M:System.Collections.Generic.IList`1.set_Item(System.Int32,`0)" inheritedFromTypeName="IList">index &gt;= 0</requires>
        <requires inheritedFrom="M:System.Collections.Generic.IList`1.set_Item(System.Int32,`0)" inheritedFromTypeName="IList">index &lt; @this.Count</requires>
      </setter>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.ErrorUtilities">
      <summary>
            A collection of error checking and reporting methods.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.Wrap(System.Exception,System.String,System.Object[])">
      <summary>
            Wraps an exception in a new <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" />.
            </summary>
      <param name="inner">The inner exception to wrap.</param>
      <param name="errorMessage">The error message for the outer exception.</param>
      <param name="args">The string formatting arguments, if any.</param>
      <returns>The newly constructed (unthrown) exception.</returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.ThrowInternal(System.String)">
      <summary>
            Throws an internal error exception.
            </summary>
      <param name="errorMessage">The error message.</param>
      <returns>Nothing.  But included here so callers can "throw" this method for C# safety.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.InternalErrorException">Always thrown.</exception>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyInternal(System.Boolean,System.String)">
      <summary>
            Checks a condition and throws an internal error exception if it evaluates to false.
            </summary>
      <param name="condition">The condition to check.</param>
      <param name="errorMessage">The message to include in the exception, if created.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.InternalErrorException">Thrown if <paramref name="condition" /> evaluates to <c>false</c>.</exception>
      <pure />
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:DotNetOpenAuth.Messaging.InternalErrorException">!condition</ensuresOnThrow>
      <exception cref="T:DotNetOpenAuth.Messaging.InternalErrorException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyInternal(System.Boolean,System.String,System.Object[])">
      <summary>
            Checks a condition and throws an internal error exception if it evaluates to false.
            </summary>
      <param name="condition">The condition to check.</param>
      <param name="errorMessage">The message to include in the exception, if created.</param>
      <param name="args">The formatting arguments.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.InternalErrorException">Thrown if <paramref name="condition" /> evaluates to <c>false</c>.</exception>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:DotNetOpenAuth.Messaging.InternalErrorException">!condition</ensuresOnThrow>
      <exception cref="T:DotNetOpenAuth.Messaging.InternalErrorException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyOperation(System.Boolean,System.String)">
      <summary>
            Checks a condition and throws an <see cref="T:System.InvalidOperationException" /> if it evaluates to false.
            </summary>
      <param name="condition">The condition to check.</param>
      <param name="errorMessage">The message to include in the exception, if created.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="condition" /> evaluates to <c>false</c>.</exception>
      <pure />
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:System.InvalidOperationException">!condition</ensuresOnThrow>
      <exception cref="T:System.InvalidOperationException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifySupported(System.Boolean,System.String)">
      <summary>
            Checks a condition and throws a <see cref="T:System.NotSupportedException" /> if it evaluates to false.
            </summary>
      <param name="condition">The condition to check.</param>
      <param name="errorMessage">The message to include in the exception, if created.</param>
      <exception cref="T:System.NotSupportedException">Thrown if <paramref name="condition" /> evaluates to <c>false</c>.</exception>
      <pure />
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:System.NotSupportedException">!condition</ensuresOnThrow>
      <exception cref="T:System.NotSupportedException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifySupported(System.Boolean,System.String,System.Object[])">
      <summary>
            Checks a condition and throws a <see cref="T:System.NotSupportedException" /> if it evaluates to false.
            </summary>
      <param name="condition">The condition to check.</param>
      <param name="errorMessage">The message to include in the exception, if created.</param>
      <param name="args">The string formatting arguments for <paramref name="errorMessage" />.</param>
      <exception cref="T:System.NotSupportedException">Thrown if <paramref name="condition" /> evaluates to <c>false</c>.</exception>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:System.NotSupportedException">!condition</ensuresOnThrow>
      <exception cref="T:System.NotSupportedException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyOperation(System.Boolean,System.String,System.Object[])">
      <summary>
            Checks a condition and throws an <see cref="T:System.InvalidOperationException" /> if it evaluates to false.
            </summary>
      <param name="condition">The condition to check.</param>
      <param name="errorMessage">The message to include in the exception, if created.</param>
      <param name="args">The formatting arguments.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="condition" /> evaluates to <c>false</c>.</exception>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:System.InvalidOperationException">!condition</ensuresOnThrow>
      <exception cref="T:System.InvalidOperationException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyInfoCard(System.Boolean,System.String,System.Object[])">
      <summary>
            Checks a condition and throws an <see cref="T:DotNetOpenAuth.InfoCard.InformationCardException" /> 
            if it evaluates to false.
            </summary>
      <param name="condition">The condition to check.</param>
      <param name="errorMessage">The message to include in the exception, if created.</param>
      <param name="args">The formatting arguments.</param>
      <exception cref="T:DotNetOpenAuth.InfoCard.InformationCardException">Thrown if <paramref name="condition" /> evaluates to <c>false</c>.</exception>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:DotNetOpenAuth.InfoCard.InformationCardException">!condition</ensuresOnThrow>
      <exception cref="T:DotNetOpenAuth.InfoCard.InformationCardException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyHost(System.Boolean,System.String,System.Object[])">
      <summary>
            Throws a <see cref="T:DotNetOpenAuth.Messaging.HostErrorException" /> if some <paramref name="condition" /> evaluates to false.
            </summary>
      <param name="condition">True to do nothing; false to throw the exception.</param>
      <param name="errorMessage">The error message for the exception.</param>
      <param name="args">The string formatting arguments, if any.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.HostErrorException">Thrown if <paramref name="condition" /> evaluates to <c>false</c>.</exception>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:DotNetOpenAuth.Messaging.ProtocolException">!condition</ensuresOnThrow>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyProtocol(System.Boolean,DotNetOpenAuth.Messaging.IProtocolMessage,System.String,System.Object[])">
      <summary>
            Throws a <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> if some <paramref name="condition" /> evaluates to false.
            </summary>
      <param name="condition">True to do nothing; false to throw the exception.</param>
      <param name="faultedMessage">The message being processed that would be responsible for the exception if thrown.</param>
      <param name="errorMessage">The error message for the exception.</param>
      <param name="args">The string formatting arguments, if any.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if <paramref name="condition" /> evaluates to <c>false</c>.</exception>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
      <requires exception="T:System.ArgumentNullException">faultedMessage != null</requires>
      <exception cref="T:System.ArgumentNullException">faultedMessage == null</exception>
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:DotNetOpenAuth.Messaging.ProtocolException">!condition</ensuresOnThrow>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyProtocol(System.Boolean,System.String,System.Object[])">
      <summary>
            Throws a <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> if some <paramref name="condition" /> evaluates to false.
            </summary>
      <param name="condition">True to do nothing; false to throw the exception.</param>
      <param name="message">The error message for the exception.</param>
      <param name="args">The string formatting arguments, if any.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if <paramref name="condition" /> evaluates to <c>false</c>.</exception>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:DotNetOpenAuth.Messaging.ProtocolException">!condition</ensuresOnThrow>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.ThrowProtocol(System.String,System.Object[])">
      <summary>
            Throws a <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" />.
            </summary>
      <param name="message">The message to set in the exception.</param>
      <param name="args">The formatting arguments of the message.</param>
      <returns>
            An InternalErrorException, which may be "thrown" by the caller in order
            to satisfy C# rules to show that code will never be reached, but no value
            actually is ever returned because this method guarantees to throw.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Always thrown.</exception>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.ThrowFormat(System.String,System.Object[])">
      <summary>
            Throws a <see cref="T:System.FormatException" />.
            </summary>
      <param name="message">The message for the exception.</param>
      <param name="args">The string formatting arguments for <paramref name="message" />.</param>
      <returns>Nothing.  It's just here so the caller can throw this method for C# compilation check.</returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyFormat(System.Boolean,System.String,System.Object[])">
      <summary>
            Throws a <see cref="T:System.FormatException" /> if some condition is false.
            </summary>
      <param name="condition">The expression to evaluate.  A value of <c>false</c> will cause the exception to be thrown.</param>
      <param name="message">The message for the exception.</param>
      <param name="args">The string formatting arguments for <paramref name="message" />.</param>
      <exception cref="T:System.FormatException">Thrown when <paramref name="condition" /> is <c>false</c>.</exception>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:System.FormatException">!condition</ensuresOnThrow>
      <exception cref="T:System.FormatException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyArgument(System.Boolean,System.String,System.Object[])">
      <summary>
            Verifies something about the argument supplied to a method.
            </summary>
      <param name="condition">The condition that must evaluate to true to avoid an exception.</param>
      <param name="message">The message to use in the exception if the condition is false.</param>
      <param name="args">The string formatting arguments, if any.</param>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="condition" /> evaluates to <c>false</c>.</exception>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:System.ArgumentException">!condition</ensuresOnThrow>
      <exception cref="T:System.ArgumentException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.ThrowArgumentNamed(System.String,System.String,System.Object[])">
      <summary>
            Throws an <see cref="T:System.ArgumentException" />.
            </summary>
      <param name="parameterName">Name of the parameter.</param>
      <param name="message">The message to use in the exception if the condition is false.</param>
      <param name="args">The string formatting arguments, if any.</param>
      <returns>Never returns anything.  It always throws.</returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyArgumentNamed(System.Boolean,System.String,System.String,System.Object[])">
      <summary>
            Verifies something about the argument supplied to a method.
            </summary>
      <param name="condition">The condition that must evaluate to true to avoid an exception.</param>
      <param name="parameterName">Name of the parameter.</param>
      <param name="message">The message to use in the exception if the condition is false.</param>
      <param name="args">The string formatting arguments, if any.</param>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="condition" /> evaluates to <c>false</c>.</exception>
      <pure />
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
      <ensures>condition</ensures>
      <ensuresOnThrow exception="T:System.ArgumentException">!condition</ensuresOnThrow>
      <exception cref="T:System.ArgumentException">!condition will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyArgumentNotNull(System.Object,System.String)">
      <summary>
            Verifies that some given value is not null.
            </summary>
      <param name="value">The value to check.</param>
      <param name="paramName">Name of the parameter, which will be used in the <see cref="T:System.ArgumentException" />, if thrown.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
      <pure />
      <ensures>value != null</ensures>
      <ensuresOnThrow exception="T:System.ArgumentNullException">value == null</ensuresOnThrow>
      <exception cref="T:System.ArgumentNullException">value == null will be true on throw.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyNonZeroLength(System.String,System.String)">
      <summary>
            Verifies that some string is not null and has non-zero length.
            </summary>
      <param name="value">The value to check.</param>
      <param name="paramName">Name of the parameter, which will be used in the <see cref="T:System.ArgumentException" />, if thrown.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="value" /> has zero length.</exception>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ErrorUtilities.VerifyHttpContext">
      <summary>
            Verifies that <see cref="P:System.Web.HttpContext.Current" /> != <c>null</c>.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:System.Web.HttpContext.Current" /> == <c>null</c></exception>
      <pure />
      <ensures>HttpContext.Current != null</ensures>
      <ensures>HttpContext.Current.Request != null</ensures>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IMessageWithEvents">
      <summary>
            An interface that messages wishing to perform custom serialization/deserialization
            may implement to be notified of <see cref="T:DotNetOpenAuth.Messaging.Channel" /> events.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IMessageWithEvents.OnSending">
      <summary>
            Called when the message is about to be transmitted,
            before it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IMessageWithEvents.OnReceiving">
      <summary>
            Called when the message has been received, 
            after it passes through the channel binding elements.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IncomingWebResponseContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IncomingWebResponseContract.GetResponseReader">
      <summary>
            Creates a text reader for the response stream.
            </summary>
      <returns>
            The text reader, initialized for the proper encoding.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IncomingWebResponseContract.GetSnapshot(System.Int32)">
      <summary>
            Gets an offline snapshot version of this instance.
            </summary>
      <param name="maximumBytesToCache">The maximum bytes from the response stream to cache.</param>
      <returns>A snapshot version of this instance.</returns>
      <remarks>
            If this instance is a <see cref="T:DotNetOpenAuth.Messaging.NetworkDirectWebResponse" /> creating a snapshot
            will automatically close and dispose of the underlying response stream.
            If this instance is a <see cref="T:DotNetOpenAuth.Messaging.CachedDirectWebResponse" />, the result will
            be the self same instance.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IncomingWebResponseContract.ResponseStream">
      <summary>
            Gets the body of the HTTP response.
            </summary>
      <value />
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensions">
      <summary>
            A protocol message that supports adding extensions to the payload for transmission.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensions.Extensions">
      <summary>
            Gets the list of extensions that are included with this message.
            </summary>
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
      <getter>
        <ensures>Contract.Result&lt;IList&lt;IExtensionMessage&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensionsContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensions" /> interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensionsContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensionsContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensionsContract.DotNetOpenAuth#Messaging#IMessage#EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensionsContract.DotNetOpenAuth#Messaging#IProtocolMessageWithExtensions#Extensions">
      <summary>
            Gets the list of extensions that are included with this message.
            </summary>
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensionsContract.DotNetOpenAuth#Messaging#IProtocolMessage#RequiredProtection">
      <summary>
            Gets the level of protection this message requires.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensionsContract.DotNetOpenAuth#Messaging#IProtocolMessage#Transport">
      <summary>
            Gets a value indicating whether this is a direct or indirect message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensionsContract.DotNetOpenAuth#Messaging#IMessage#Version">
      <summary>
            Gets the version of the protocol or extension this message is prepared to implement.
            </summary>
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensionsContract.DotNetOpenAuth#Messaging#IMessage#ExtraData">
      <summary>
            Gets the extra, non-standard Protocol parameters included in the message.
            </summary>
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.InternalErrorException">
      <summary>
            An internal exception to throw if an internal error within the library requires
            an abort of the operation.
            </summary>
      <remarks>
            This exception is internal to prevent clients of the library from catching what is
            really an unexpected, potentially unrecoverable exception.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.InternalErrorException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.InternalErrorException" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.InternalErrorException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.InternalErrorException" /> class.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.InternalErrorException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.InternalErrorException" /> class.
            </summary>
      <param name="message">The message.</param>
      <param name="inner">The inner exception.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.InternalErrorException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.InternalErrorException" /> class.
            </summary>
      <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
      <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
      <exception cref="T:System.ArgumentNullException">
            The <paramref name="info" /> parameter is null.
            </exception>
      <exception cref="T:System.Runtime.Serialization.SerializationException">
            The class name is null or <see cref="P:System.Exception.HResult" /> is zero (0).
            </exception>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.KeyedCollectionDelegate`2">
      <summary>
            A KeyedCollection whose item -&gt; key transform is provided via a delegate
            to its constructor, and null items are disallowed.
            </summary>
      <typeparam name="TKey">The type of the key.</typeparam>
      <typeparam name="TItem">The type of the item.</typeparam>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.KeyedCollectionDelegate`2.getKeyForItemDelegate">
      <summary>
            The delegate that returns a key for the given item.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.KeyedCollectionDelegate`2.#ctor(System.Func{`1,`0})">
      <summary>
            Initializes a new instance of the KeyedCollectionDelegate class.
            </summary>
      <param name="getKeyForItemDelegate">The delegate that gets the key for a given item.</param>
      <requires exception="T:System.ArgumentNullException">getKeyForItemDelegate != null</requires>
      <exception cref="T:System.ArgumentNullException">getKeyForItemDelegate == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.KeyedCollectionDelegate`2.GetKeyForItem(`1)">
      <summary>
            When implemented in a derived class, extracts the key from the specified element.
            </summary>
      <param name="item">The element from which to extract the key.</param>
      <returns>The key for the specified element.</returns>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.MultipartPostPart">
      <summary>
            Represents a single part in a HTTP multipart POST request.
            </summary>
      <invariant>!string.IsNullOrEmpty(this.ContentDisposition)</invariant>
      <invariant>this.PartHeaders != null</invariant>
      <invariant>this.ContentAttributes != null</invariant>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MultipartPostPart.ContentDispositionHeader">
      <summary>
            The "Content-Disposition" string.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MultipartPostPart.NewLine">
      <summary>
            The two-character \r\n newline character sequence to use.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MultipartPostPart.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.MultipartPostPart" /> class.
            </summary>
      <param name="contentDisposition">The content disposition of the part.</param>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(contentDisposition)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(contentDisposition)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MultipartPostPart.CreateFormPart(System.String,System.String)">
      <summary>
            Creates a part that represents a simple form field.
            </summary>
      <param name="name">The name of the form field.</param>
      <param name="value">The value.</param>
      <returns>The constructed part.</returns>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(name)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(name)</exception>
      <requires exception="T:System.ArgumentException">value != null</requires>
      <exception cref="T:System.ArgumentException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MultipartPostPart.CreateFormFilePart(System.String,System.String,System.String)">
      <summary>
            Creates a part that represents a file attachment.
            </summary>
      <param name="name">The name of the form field.</param>
      <param name="filePath">The path to the file to send.</param>
      <param name="contentType">Type of the content in HTTP Content-Type format.</param>
      <returns>The constructed part.</returns>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(name)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(name)</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(filePath)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(filePath)</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(contentType)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(contentType)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MultipartPostPart.CreateFormFilePart(System.String,System.String,System.String,System.IO.Stream)">
      <summary>
            Creates a part that represents a file attachment.
            </summary>
      <param name="name">The name of the form field.</param>
      <param name="fileName">Name of the file as the server should see it.</param>
      <param name="contentType">Type of the content in HTTP Content-Type format.</param>
      <param name="content">The content of the file.</param>
      <returns>The constructed part.</returns>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(name)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(name)</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(fileName)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(fileName)</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(contentType)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(contentType)</exception>
      <requires exception="T:System.ArgumentException">content != null</requires>
      <exception cref="T:System.ArgumentException">content == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MultipartPostPart.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MultipartPostPart.Serialize(System.IO.StreamWriter)">
      <summary>
            Serializes the part to a stream.
            </summary>
      <param name="streamWriter">The stream writer.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MultipartPostPart.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MultipartPostPart.Invariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MultipartPostPart.ContentDisposition">
      <summary>
            Gets the content disposition.
            </summary>
      <value>The content disposition.</value>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MultipartPostPart.ContentAttributes">
      <summary>
            Gets the key=value attributes that appear on the same line as the Content-Disposition.
            </summary>
      <value>The content attributes.</value>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MultipartPostPart.PartHeaders">
      <summary>
            Gets the headers that appear on subsequent lines after the Content-Disposition.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MultipartPostPart.Content">
      <summary>
            Gets or sets the content of the part.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MultipartPostPart.Length">
      <summary>
            Gets the length of this entire part.
            </summary>
      <remarks>Useful for calculating the ContentLength HTTP header to send before actually serializing the content.</remarks>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.NetworkDirectWebResponse">
      <summary>
            A live network HTTP response
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.NetworkDirectWebResponse.httpWebResponse">
      <summary>
            The network response object, used to initialize this instance, that still needs 
            to be closed if applicable.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.NetworkDirectWebResponse.responseStream">
      <summary>
            The incoming network response stream.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.NetworkDirectWebResponse.streamReadBegun">
      <summary>
            A value indicating whether a stream reader has already been
            created on this instance.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.NetworkDirectWebResponse.#ctor(System.Uri,System.Net.HttpWebResponse)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.NetworkDirectWebResponse" /> class.
            </summary>
      <param name="requestUri">The request URI.</param>
      <param name="response">The response.</param>
      <requires exception="T:System.ArgumentNullException">requestUri != null</requires>
      <exception cref="T:System.ArgumentNullException">requestUri == null</exception>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.NetworkDirectWebResponse.GetResponseReader">
      <summary>
            Creates a text reader for the response stream.
            </summary>
      <returns>The text reader, initialized for the proper encoding.</returns>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IncomingWebResponse.GetResponseReader" inheritedFromTypeName="IncomingWebResponse">Contract.Result&lt;StreamReader&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.NetworkDirectWebResponse.GetSnapshot(System.Int32)">
      <summary>
            Gets an offline snapshot version of this instance.
            </summary>
      <param name="maximumBytesToCache">The maximum bytes from the response stream to cache.</param>
      <returns>A snapshot version of this instance.</returns>
      <remarks>
            If this instance is a <see cref="T:DotNetOpenAuth.Messaging.NetworkDirectWebResponse" /> creating a snapshot
            will automatically close and dispose of the underlying response stream.
            If this instance is a <see cref="T:DotNetOpenAuth.Messaging.CachedDirectWebResponse" />, the result will
            be the self same instance.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IncomingWebResponse.GetSnapshot(System.Int32)" inheritedFromTypeName="IncomingWebResponse" exception="T:System.ArgumentOutOfRangeException">maximumBytesToCache &gt;= 0</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">maximumBytesToCache &lt; 0</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IncomingWebResponse.GetSnapshot(System.Int32)" inheritedFromTypeName="IncomingWebResponse" exception="T:System.InvalidOperationException">this.RequestUri != null</requires>
      <exception cref="T:System.InvalidOperationException">this.RequestUri == null</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IncomingWebResponse.GetSnapshot(System.Int32)" inheritedFromTypeName="IncomingWebResponse">Contract.Result&lt;CachedDirectWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.NetworkDirectWebResponse.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.NetworkDirectWebResponse.ResponseStream">
      <summary>
            Gets the body of the HTTP response.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.OutgoingWebResponseActionResult">
      <summary>
            An ASP.NET MVC structure to represent the response to send
            to the user agent when the controller has finished its work.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.OutgoingWebResponseActionResult.response">
      <summary>
            The outgoing web response to send when the ActionResult is executed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.OutgoingWebResponseActionResult.#ctor(DotNetOpenAuth.Messaging.OutgoingWebResponse)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.OutgoingWebResponseActionResult" /> class.
            </summary>
      <param name="response">The response.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.OutgoingWebResponseActionResult.ExecuteResult(System.Web.Mvc.ControllerContext)">
      <summary>
            Enables processing of the result of an action method by a custom type that inherits from <see cref="T:System.Web.Mvc.ActionResult" />.
            </summary>
      <param name="context">The context in which to set the response.</param>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder">
      <summary>
            An interface describing how various objects can be serialized and deserialized between their object and string forms.
            </summary>
      <remarks>
            Implementations of this interface must include a default constructor and must be thread-safe.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder.Encode(System.Object)">
      <summary>
            Encodes the specified value.
            </summary>
      <param name="value">The value.  Guaranteed to never be null.</param>
      <returns>The <paramref name="value" /> in string form, ready for message transport.</returns>
      <requires exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder.Decode(System.String)">
      <summary>
            Decodes the specified value.
            </summary>
      <param name="value">The string value carried by the transport.  Guaranteed to never be null, although it may be empty.</param>
      <returns>The deserialized form of the given string.</returns>
      <exception cref="T:System.FormatException">Thrown when the string value given cannot be decoded into the required object type.</exception>
      <requires exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoderContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder" /> type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoderContract.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoderContract" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoderContract.DotNetOpenAuth#Messaging#Reflection#IMessagePartEncoder#Encode(System.Object)">
      <summary>
            Encodes the specified value.
            </summary>
      <param name="value">The value.  Guaranteed to never be null.</param>
      <returns>
            The <paramref name="value" /> in string form, ready for message transport.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoderContract.DotNetOpenAuth#Messaging#Reflection#IMessagePartEncoder#Decode(System.String)">
      <summary>
            Decodes the specified value.
            </summary>
      <param name="value">The string value carried by the transport.  Guaranteed to never be null, although it may be empty.</param>
      <returns>
            The deserialized form of the given string.
            </returns>
      <exception cref="T:System.FormatException">Thrown when the string value given cannot be decoded into the required object type.</exception>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Reflection.IMessagePartNullEncoder">
      <summary>
            A message part encoder that has a special encoding for a null value.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.IMessagePartNullEncoder.EncodedNullValue">
      <summary>
            Gets the string representation to include in a serialized message 
            when the message part has a <c>null</c> value.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Reflection.IMessagePartOriginalEncoder">
      <summary>
            An interface describing how various objects can be serialized and deserialized between their object and string forms.
            </summary>
      <remarks>
            Implementations of this interface must include a default constructor and must be thread-safe.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartOriginalEncoder.EncodeAsOriginalString(System.Object)">
      <summary>
            Encodes the specified value as the original value that was formerly decoded.
            </summary>
      <param name="value">The value.  Guaranteed to never be null.</param>
      <returns>The <paramref name="value" /> in string form, ready for message transport.</returns>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection">
      <summary>
            A cache of <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessageDescription" /> instances.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.reflectedMessageTypes">
      <summary>
            A dictionary of reflected message types and the generated reflection information.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.Get(System.Type,System.Version)">
      <summary>
            Gets a <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessageDescription" /> instance prepared for the
            given message type.
            </summary>
      <param name="messageType">A type that implements <see cref="T:DotNetOpenAuth.Messaging.IMessage" />.</param>
      <param name="messageVersion">The protocol version of the message.</param>
      <returns>A <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessageDescription" /> instance.</returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">messageType != null</requires>
      <exception cref="T:System.ArgumentNullException">messageType == null</exception>
      <requires exception="T:System.ArgumentException">typeof(IMessage).IsAssignableFrom(messageType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IMessage).IsAssignableFrom(messageType))</exception>
      <requires exception="T:System.ArgumentNullException">messageVersion != null</requires>
      <exception cref="T:System.ArgumentNullException">messageVersion == null</exception>
      <ensures>Contract.Result&lt;MessageDescription&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.Get(DotNetOpenAuth.Messaging.IMessage)">
      <summary>
            Gets a <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessageDescription" /> instance prepared for the
            given message type.
            </summary>
      <param name="message">The message for which a <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessageDescription" /> should be obtained.</param>
      <returns>
            A <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessageDescription" /> instance.
            </returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <ensures>Contract.Result&lt;MessageDescription&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.GetAccessor(DotNetOpenAuth.Messaging.IMessage)">
      <summary>
            Gets the dictionary that provides read/write access to a message.
            </summary>
      <param name="message">The message.</param>
      <returns>The dictionary.</returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.GetAccessor(DotNetOpenAuth.Messaging.IMessage,System.Boolean)">
      <summary>
            Gets the dictionary that provides read/write access to a message.
            </summary>
      <param name="message">The message.</param>
      <param name="getOriginalValues">A value indicating whether this message dictionary will retrieve original values instead of normalized ones.</param>
      <returns>The dictionary.</returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion">
      <summary>
            A struct used as the key to bundle message type and version.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion.type">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion.Type" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion.version">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion.Version" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion.#ctor(System.Type,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion" /> struct.
            </summary>
      <param name="messageType">Type of the message.</param>
      <param name="messageVersion">The message version.</param>
      <requires exception="T:System.ArgumentNullException">messageType != null</requires>
      <exception cref="T:System.ArgumentNullException">messageType == null</exception>
      <requires exception="T:System.ArgumentNullException">messageVersion != null</requires>
      <exception cref="T:System.ArgumentNullException">messageVersion == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion.op_Equality(DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion,DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion)">
      <summary>
            Implements the operator ==.
            </summary>
      <param name="first">The first object to compare.</param>
      <param name="second">The second object to compare.</param>
      <returns>The result of the operator.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion.op_Inequality(DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion,DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion)">
      <summary>
            Implements the operator !=.
            </summary>
      <param name="first">The first object to compare.</param>
      <param name="second">The second object to compare.</param>
      <returns>The result of the operator.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion.Equals(System.Object)">
      <summary>
            Indicates whether this instance and a specified object are equal.
            </summary>
      <param name="obj">Another object to compare to.</param>
      <returns>
            true if <paramref name="obj" /> and this instance are the same type and represent the same value; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion.GetHashCode">
      <summary>
            Returns the hash code for this instance.
            </summary>
      <returns>
            A 32-bit signed integer that is the hash code for this instance.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion.Type">
      <summary>
            Gets the message type.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDescriptionCollection.MessageTypeAndVersion.Version">
      <summary>
            Gets the message version.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Mvc.OpenIdAjaxOptions">
      <summary>
            A set of customizations available for the scripts sent to the browser in AJAX OpenID scenarios.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdAjaxOptions.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Mvc.OpenIdAjaxOptions" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Mvc.OpenIdAjaxOptions.AssertionHiddenFieldId">
      <summary>
            Gets or sets the ID of the hidden field that should carry the positive assertion
            until it is posted to the RP.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Mvc.OpenIdAjaxOptions.ReturnUrlHiddenFieldId">
      <summary>
            Gets or sets the ID of the hidden field that should be set with the parent window/frame's URL
            prior to posting the form with the positive assertion.  Useful for jQuery popup dialogs.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Mvc.OpenIdAjaxOptions.FormIndex">
      <summary>
            Gets or sets the index of the form in the document.forms array on the browser that should
            be submitted when the user is ready to send the positive assertion to the RP.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Mvc.OpenIdAjaxOptions.FormId">
      <summary>
            Gets or sets the id of the form in the document.forms array on the browser that should
            be submitted when the user is ready to send the positive assertion to the RP.  A value
            in this property takes precedence over any value in the <see cref="P:DotNetOpenAuth.Mvc.OpenIdAjaxOptions.FormIndex" /> property.
            </summary>
      <value>The form id.</value>
    </member>
    <member name="P:DotNetOpenAuth.Mvc.OpenIdAjaxOptions.PreloadedDiscoveryResults">
      <summary>
            Gets or sets the preloaded discovery results.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Mvc.OpenIdAjaxOptions.ShowDiagnosticTrace">
      <summary>
            Gets or sets a value indicating whether to print diagnostic trace messages in the browser.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Mvc.OpenIdAjaxOptions.ShowDiagnosticIFrame">
      <summary>
            Gets or sets a value indicating whether to show all the "hidden" iframes that facilitate
            asynchronous authentication of the user for diagnostic purposes.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Mvc.OpenIdAjaxOptions.FormKey">
      <summary>
            Gets the form key to use when accessing the relevant form.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.ICombinedOpenIdProviderTokenManager">
      <summary>
            An interface that providers that play a dual role as OpenID Provider
            and OAuth Service Provider should implement on their token manager classes.
            </summary>
      <remarks>
            This interface should be implemented by the same class that implements
            <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager" /> in order to enable the OpenID+OAuth extension.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.IOpenIdOAuthTokenManager">
      <summary>
            Additional methods an <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager" /> implementing class
            may implement to support the OpenID+OAuth extension.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IOpenIdOAuthTokenManager.StoreOpenIdAuthorizedRequestToken(System.String,DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationApprovedResponse)">
      <summary>
            Stores a new request token obtained over an OpenID request.
            </summary>
      <param name="consumerKey">The consumer key.</param>
      <param name="authorization">The authorization message carrying the request token and authorized access scope.</param>
      <remarks>
        <para>The token secret is the empty string.</para>
        <para>Tokens stored by this method should be short-lived to mitigate 
            possible security threats.  Their lifetime should be sufficient for the
            relying party to receive the positive authentication assertion and immediately
            send a follow-up request for the access token.</para>
      </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager">
      <summary>
            An interface OAuth hosts must implement for persistent storage
            and recall of tokens and secrets for an individual OAuth consumer
            or service provider.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.GetTokenSecret(System.String)">
      <summary>
            Gets the Token Secret given a request or access token.
            </summary>
      <param name="token">The request or access token.</param>
      <returns>The secret associated with the given token.</returns>
      <exception cref="T:System.ArgumentException">Thrown if the secret cannot be found for the given token.</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(token)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(token)</exception>
      <ensures>Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.StoreNewRequestToken(DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest,DotNetOpenAuth.OAuth.Messages.ITokenSecretContainingMessage)">
      <summary>
            Stores a newly generated unauthorized request token, secret, and optional
            application-specific parameters for later recall.
            </summary>
      <param name="request">The request message that resulted in the generation of a new unauthorized request token.</param>
      <param name="response">The response message that includes the unauthorized request token.</param>
      <exception cref="T:System.ArgumentException">Thrown if the consumer key is not registered, or a required parameter was not found in the parameters collection.</exception>
      <remarks>
            Request tokens stored by this method SHOULD NOT associate any user account with this token.
            It usually opens up security holes in your application to do so.  Instead, you associate a user
            account with access tokens (not request tokens) in the <see cref="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.ExpireRequestTokenAndStoreNewAccessToken(System.String,System.String,System.String,System.String)" />
            method.
            </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.ExpireRequestTokenAndStoreNewAccessToken(System.String,System.String,System.String,System.String)">
      <summary>
            Deletes a request token and its associated secret and stores a new access token and secret.
            </summary>
      <param name="consumerKey">The Consumer that is exchanging its request token for an access token.</param>
      <param name="requestToken">The Consumer's request token that should be deleted/expired.</param>
      <param name="accessToken">The new access token that is being issued to the Consumer.</param>
      <param name="accessTokenSecret">The secret associated with the newly issued access token.</param>
      <remarks>
        <para>
            Any scope of granted privileges associated with the request token from the
            original call to <see cref="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.StoreNewRequestToken(DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest,DotNetOpenAuth.OAuth.Messages.ITokenSecretContainingMessage)" /> should be carried over
            to the new Access Token.
            </para>
        <para>
            To associate a user account with the new access token, 
            <see cref="P:System.Web.HttpContext.User">HttpContext.Current.User</see> may be
            useful in an ASP.NET web application within the implementation of this method.
            Alternatively you may store the access token here without associating with a user account,
            and wait until <see cref="M:DotNetOpenAuth.OAuth.WebConsumer.ProcessUserAuthorization" /> or
            <see cref="M:DotNetOpenAuth.OAuth.DesktopConsumer.ProcessUserAuthorization(System.String,System.String)" /> return the access
            token to associate the access token with a user account at that point.
            </para>
      </remarks>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(consumerKey)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(consumerKey)</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(requestToken)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(requestToken)</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(accessToken)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(accessToken)</exception>
      <requires exception="T:System.ArgumentNullException">accessTokenSecret != null</requires>
      <exception cref="T:System.ArgumentNullException">accessTokenSecret == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.GetTokenType(System.String)">
      <summary>
            Classifies a token as a request token or an access token.
            </summary>
      <param name="token">The token to classify.</param>
      <returns>Request or Access token, or invalid if the token is not recognized.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(token)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(token)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ICombinedOpenIdProviderTokenManager.GetConsumerKey(DotNetOpenAuth.OpenId.Realm)">
      <summary>
            Gets the OAuth consumer key for a given OpenID relying party realm.
            </summary>
      <param name="realm">The relying party's OpenID realm.</param>
      <returns>The OAuth consumer key for a given OpenID realm.</returns>
      <para>This is a security-critical function.  Since OpenID requests 
            and OAuth extensions for those requests can be formulated by ANYONE 
            (no signing is required by the relying party), and since the response to 
            the authentication will include access the user is granted to the 
            relying party who CLAIMS to be from some realm, it is of paramount 
            importance that the realm is recognized as belonging to the consumer 
            key by the host service provider in order to protect against phishers.</para>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.IConsumerDescription">
      <summary>
            A description of a consumer from a Service Provider's point of view.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IConsumerDescription.Key">
      <summary>
            Gets the Consumer key.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IConsumerDescription.Secret">
      <summary>
            Gets the consumer secret.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IConsumerDescription.Certificate">
      <summary>
            Gets the certificate that can be used to verify the signature of an incoming
            message from a Consumer.
            </summary>
      <returns>The public key from the Consumer's X.509 Certificate, if one can be found; otherwise <c>null</c>.</returns>
      <remarks>
            This property must be implemented only if the RSA-SHA1 algorithm is supported by the Service Provider.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IConsumerDescription.Callback">
      <summary>
            Gets the callback URI that this consumer has pre-registered with the service provider, if any.
            </summary>
      <value>A URI that user authorization responses should be directed to; or <c>null</c> if no preregistered callback was arranged.</value>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IConsumerDescription.VerificationCodeFormat">
      <summary>
            Gets the verification code format that is most appropriate for this consumer
            when a callback URI is not available.
            </summary>
      <value>A set of characters that can be easily keyed in by the user given the Consumer's
            application type and form factor.</value>
      <remarks>
            The value <see cref="F:DotNetOpenAuth.OAuth.VerificationCodeFormat.IncludedInCallback" /> should NEVER be returned
            since this property is only used in no callback scenarios anyway.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IConsumerDescription.VerificationCodeLength">
      <summary>
            Gets the length of the verification code to issue for this Consumer.
            </summary>
      <value>A positive number, generally at least 4.</value>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.IConsumerTokenManager">
      <summary>
            A token manager for use by a web site in its role as a consumer of
            an individual ServiceProvider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IConsumerTokenManager.ConsumerKey">
      <summary>
            Gets the consumer key.
            </summary>
      <value>The consumer key.</value>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IConsumerTokenManager.ConsumerSecret">
      <summary>
            Gets the consumer secret.
            </summary>
      <value>The consumer secret.</value>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderAccessToken">
      <summary>
            A description of an access token and its metadata as required by a Service Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderAccessToken.Token">
      <summary>
            Gets the token itself.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderAccessToken.ExpirationDate">
      <summary>
            Gets the expiration date (local time) for the access token.
            </summary>
      <value>The expiration date, or <c>null</c> if there is no expiration date.</value>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderAccessToken.Username">
      <summary>
            Gets the username of the principal that will be impersonated by this access token.
            </summary>
      <value>
            The name of the user who authorized the OAuth request token originally.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderAccessToken.Roles">
      <summary>
            Gets the roles that the OAuth principal should belong to.
            </summary>
      <value>
            The roles that the user belongs to, or a subset of these according to the rights
            granted when the user authorized the request token.
            </value>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager">
      <summary>
            A token manager for use by a web site in its role as a
            service provider.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager.GetConsumer(System.String)">
      <summary>
            Gets the Consumer description for a given a Consumer Key.
            </summary>
      <param name="consumerKey">The Consumer Key.</param>
      <returns>A description of the consumer.  Never null.</returns>
      <exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown if the consumer key cannot be found.</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(consumerKey)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(consumerKey)</exception>
      <ensures>Contract.Result&lt;IConsumerDescription&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager.IsRequestTokenAuthorized(System.String)">
      <summary>
            Checks whether a given request token has already been authorized
            by some user for use by the Consumer that requested it.
            </summary>
      <param name="requestToken">The Consumer's request token.</param>
      <returns>
            True if the request token has already been fully authorized by the user
            who owns the relevant protected resources.  False if the token has not yet
            been authorized, has expired or does not exist.
            </returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(requestToken)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(requestToken)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager.GetRequestToken(System.String)">
      <summary>
            Gets details on the named request token.
            </summary>
      <param name="token">The request token.</param>
      <returns>A description of the token.  Never null.</returns>
      <exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown if the token cannot be found.</exception>
      <remarks>
            It is acceptable for implementations to find the token, see that it has expired,
            delete it from the database and then throw <see cref="T:System.Collections.Generic.KeyNotFoundException" />,
            or alternatively it can return the expired token anyway and the OAuth channel will
            log and throw the appropriate error.
            </remarks>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(token)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(token)</exception>
      <ensures>Contract.Result&lt;IServiceProviderRequestToken&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager.GetAccessToken(System.String)">
      <summary>
            Gets details on the named access token.
            </summary>
      <param name="token">The access token.</param>
      <returns>A description of the token.  Never null.</returns>
      <exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown if the token cannot be found.</exception>
      <remarks>
            It is acceptable for implementations to find the token, see that it has expired,
            delete it from the database and then throw <see cref="T:System.Collections.Generic.KeyNotFoundException" />,
            or alternatively it can return the expired token anyway and the OAuth channel will
            log and throw the appropriate error.
            </remarks>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(token)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(token)</exception>
      <ensures>Contract.Result&lt;IServiceProviderAccessToken&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager.UpdateToken(DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderRequestToken)">
      <summary>
            Persists any changes made to the token.
            </summary>
      <param name="token">The token whose properties have been changed.</param>
      <remarks>
            This library will invoke this method after making a set
            of changes to the token as part of a web request to give the host
            the opportunity to persist those changes to a database.
            Depending on the object persistence framework the host site uses,
            this method MAY not need to do anything (if changes made to the token
            will automatically be saved without any extra handling).
            </remarks>
      <requires exception="T:System.ArgumentNullException">token != null</requires>
      <exception cref="T:System.ArgumentNullException">token == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManagerContract">
      <summary>
            Code contract class for the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager" /> interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManagerContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManagerContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#IServiceProviderTokenManager#GetConsumer(System.String)">
      <summary>
            Gets the Consumer description for a given a Consumer Key.
            </summary>
      <param name="consumerKey">The Consumer Key.</param>
      <returns>
            A description of the consumer.  Never null.
            </returns>
      <exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown if the consumer key cannot be found.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#IServiceProviderTokenManager#IsRequestTokenAuthorized(System.String)">
      <summary>
            Checks whether a given request token has already been authorized
            by some user for use by the Consumer that requested it.
            </summary>
      <param name="requestToken">The Consumer's request token.</param>
      <returns>
            True if the request token has already been fully authorized by the user
            who owns the relevant protected resources.  False if the token has not yet
            been authorized, has expired or does not exist.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#IServiceProviderTokenManager#GetRequestToken(System.String)">
      <summary>
            Gets details on the named request token.
            </summary>
      <param name="token">The request token.</param>
      <returns>A description of the token.  Never null.</returns>
      <exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown if the token cannot be found.</exception>
      <remarks>
            It is acceptable for implementations to find the token, see that it has expired,
            delete it from the database and then throw <see cref="T:System.Collections.Generic.KeyNotFoundException" />,
            or alternatively it can return the expired token anyway and the OAuth channel will
            log and throw the appropriate error.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#IServiceProviderTokenManager#GetAccessToken(System.String)">
      <summary>
            Gets details on the named access token.
            </summary>
      <param name="token">The access token.</param>
      <returns>A description of the token.  Never null.</returns>
      <exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown if the token cannot be found.</exception>
      <remarks>
            It is acceptable for implementations to find the token, see that it has expired,
            delete it from the database and then throw <see cref="T:System.Collections.Generic.KeyNotFoundException" />,
            or alternatively it can return the expired token anyway and the OAuth channel will
            log and throw the appropriate error.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#IServiceProviderTokenManager#UpdateToken(DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderRequestToken)">
      <summary>
            Persists any changes made to the token.
            </summary>
      <param name="token">The token whose properties have been changed.</param>
      <remarks>
            This library will invoke this method after making a set
            of changes to the token as part of a web request to give the host
            the opportunity to persist those changes to a database.
            Depending on the object persistence framework the host site uses,
            this method MAY not need to do anything (if changes made to the token
            will automatically be saved without any extra handling).
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#ITokenManager#GetTokenSecret(System.String)">
      <summary>
            Gets the Token Secret given a request or access token.
            </summary>
      <param name="token">The request or access token.</param>
      <returns>
            The secret associated with the given token.
            </returns>
      <exception cref="T:System.ArgumentException">Thrown if the secret cannot be found for the given token.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#ITokenManager#StoreNewRequestToken(DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest,DotNetOpenAuth.OAuth.Messages.ITokenSecretContainingMessage)">
      <summary>
            Stores a newly generated unauthorized request token, secret, and optional
            application-specific parameters for later recall.
            </summary>
      <param name="request">The request message that resulted in the generation of a new unauthorized request token.</param>
      <param name="response">The response message that includes the unauthorized request token.</param>
      <exception cref="T:System.ArgumentException">Thrown if the consumer key is not registered, or a required parameter was not found in the parameters collection.</exception>
      <remarks>
            Request tokens stored by this method SHOULD NOT associate any user account with this token.
            It usually opens up security holes in your application to do so.  Instead, you associate a user
            account with access tokens (not request tokens) in the <see cref="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.ExpireRequestTokenAndStoreNewAccessToken(System.String,System.String,System.String,System.String)" />
            method.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#ITokenManager#ExpireRequestTokenAndStoreNewAccessToken(System.String,System.String,System.String,System.String)">
      <summary>
            Deletes a request token and its associated secret and stores a new access token and secret.
            </summary>
      <param name="consumerKey">The Consumer that is exchanging its request token for an access token.</param>
      <param name="requestToken">The Consumer's request token that should be deleted/expired.</param>
      <param name="accessToken">The new access token that is being issued to the Consumer.</param>
      <param name="accessTokenSecret">The secret associated with the newly issued access token.</param>
      <remarks>
        <para>
            Any scope of granted privileges associated with the request token from the
            original call to <see cref="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.StoreNewRequestToken(DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest,DotNetOpenAuth.OAuth.Messages.ITokenSecretContainingMessage)" /> should be carried over
            to the new Access Token.
            </para>
        <para>
            To associate a user account with the new access token,
            <see cref="P:System.Web.HttpContext.User">HttpContext.Current.User</see> may be
            useful in an ASP.NET web application within the implementation of this method.
            Alternatively you may store the access token here without associating with a user account,
            and wait until <see cref="M:DotNetOpenAuth.OAuth.WebConsumer.ProcessUserAuthorization" /> or
            <see cref="M:DotNetOpenAuth.OAuth.DesktopConsumer.ProcessUserAuthorization(System.String,System.String)" /> return the access
            token to associate the access token with a user account at that point.
            </para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#ITokenManager#GetTokenType(System.String)">
      <summary>
            Classifies a token as a request token or an access token.
            </summary>
      <param name="token">The token to classify.</param>
      <returns>
            Request or Access token, or invalid if the token is not recognized.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthConsumerMessageFactory">
      <summary>
            An OAuth-protocol specific implementation of the <see cref="T:DotNetOpenAuth.Messaging.IMessageFactory" />
            interface.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IMessageFactory">
      <summary>
            A tool to analyze an incoming message to figure out what concrete class
            is designed to deserialize it and instantiates that class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewRequestMessage(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Analyzes an incoming request message payload to discover what kind of 
            message is embedded in it and returns the type, or null if no match is found.
            </summary>
      <param name="recipient">The intended or actual recipient of the request message.</param>
      <param name="fields">The name/value pairs that make up the message payload.</param>
      <returns>
            A newly instantiated <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessage" />-derived object that this message can
            deserialize to.  Null if the request isn't recognized as a valid protocol message.
            </returns>
      <requires exception="T:System.ArgumentNullException">recipient != null</requires>
      <exception cref="T:System.ArgumentNullException">recipient == null</exception>
      <requires exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewResponseMessage(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Analyzes an incoming request message payload to discover what kind of 
            message is embedded in it and returns the type, or null if no match is found.
            </summary>
      <param name="request">
            The message that was sent as a request that resulted in the response.
            </param>
      <param name="fields">The name/value pairs that make up the message payload.</param>
      <returns>
            A newly instantiated <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessage" />-derived object that this message can
            deserialize to.  Null if the request isn't recognized as a valid protocol message.
            </returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthConsumerMessageFactory.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthConsumerMessageFactory" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthConsumerMessageFactory.GetNewRequestMessage(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Analyzes an incoming request message payload to discover what kind of
            message is embedded in it and returns the type, or null if no match is found.
            </summary>
      <param name="recipient">The intended or actual recipient of the request message.</param>
      <param name="fields">The name/value pairs that make up the message payload.</param>
      <returns>
            A newly instantiated <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessage" />-derived object that this message can
            deserialize to.  Null if the request isn't recognized as a valid protocol message.
            </returns>
      <remarks>
            The request messages are:
            UserAuthorizationResponse
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewRequestMessage(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IMessageFactory" exception="T:System.ArgumentNullException">recipient != null</requires>
      <exception cref="T:System.ArgumentNullException">recipient == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewRequestMessage(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IMessageFactory" exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthConsumerMessageFactory.GetNewResponseMessage(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Analyzes an incoming request message payload to discover what kind of 
            message is embedded in it and returns the type, or null if no match is found.
            </summary>
      <param name="request">
            The message that was sent as a request that resulted in the response.
            Null on a Consumer site that is receiving an indirect message from the Service Provider.
            </param>
      <param name="fields">The name/value pairs that make up the message payload.</param>
      <returns>
            A newly instantiated <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessage" />-derived object that this message can
            deserialize to.  Null if the request isn't recognized as a valid protocol message.
            </returns>
      <remarks>
            The response messages are:
            UnauthorizedTokenResponse
            AuthorizedTokenResponse
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewResponseMessage(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IMessageFactory" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewResponseMessage(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IMessageFactory" exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.ITokenGenerator">
      <summary>
            An interface allowing OAuth hosts to inject their own algorithm for generating tokens and secrets.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenGenerator.GenerateRequestToken(System.String)">
      <summary>
            Generates a new token to represent a not-yet-authorized request to access protected resources.
            </summary>
      <param name="consumerKey">The consumer that requested this token.</param>
      <returns>The newly generated token.</returns>
      <remarks>
            This method should not store the newly generated token in any persistent store.
            This will be done in <see cref="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.StoreNewRequestToken(DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest,DotNetOpenAuth.OAuth.Messages.ITokenSecretContainingMessage)" />.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenGenerator.GenerateAccessToken(System.String)">
      <summary>
            Generates a new token to represent an authorized request to access protected resources.
            </summary>
      <param name="consumerKey">The consumer that requested this token.</param>
      <returns>The newly generated token.</returns>
      <remarks>
            This method should not store the newly generated token in any persistent store.
            This will be done in <see cref="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.ExpireRequestTokenAndStoreNewAccessToken(System.String,System.String,System.String,System.String)" />.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenGenerator.GenerateSecret">
      <summary>
            Returns a cryptographically strong random string for use as a token secret.
            </summary>
      <returns>The generated string.</returns>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.ITokenManagerContract">
      <summary>
            The code contract class for the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager" /> interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManagerContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.ITokenManagerContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#ITokenManager#GetTokenSecret(System.String)">
      <summary>
            Gets the Token Secret given a request or access token.
            </summary>
      <param name="token">The request or access token.</param>
      <returns>
            The secret associated with the given token.
            </returns>
      <exception cref="T:System.ArgumentException">Thrown if the secret cannot be found for the given token.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#ITokenManager#StoreNewRequestToken(DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest,DotNetOpenAuth.OAuth.Messages.ITokenSecretContainingMessage)">
      <summary>
            Stores a newly generated unauthorized request token, secret, and optional
            application-specific parameters for later recall.
            </summary>
      <param name="request">The request message that resulted in the generation of a new unauthorized request token.</param>
      <param name="response">The response message that includes the unauthorized request token.</param>
      <exception cref="T:System.ArgumentException">Thrown if the consumer key is not registered, or a required parameter was not found in the parameters collection.</exception>
      <remarks>
            Request tokens stored by this method SHOULD NOT associate any user account with this token.
            It usually opens up security holes in your application to do so.  Instead, you associate a user
            account with access tokens (not request tokens) in the <see cref="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.ExpireRequestTokenAndStoreNewAccessToken(System.String,System.String,System.String,System.String)" />
            method.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#ITokenManager#ExpireRequestTokenAndStoreNewAccessToken(System.String,System.String,System.String,System.String)">
      <summary>
            Deletes a request token and its associated secret and stores a new access token and secret.
            </summary>
      <param name="consumerKey">The Consumer that is exchanging its request token for an access token.</param>
      <param name="requestToken">The Consumer's request token that should be deleted/expired.</param>
      <param name="accessToken">The new access token that is being issued to the Consumer.</param>
      <param name="accessTokenSecret">The secret associated with the newly issued access token.</param>
      <remarks>
        <para>
            Any scope of granted privileges associated with the request token from the
            original call to <see cref="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.StoreNewRequestToken(DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest,DotNetOpenAuth.OAuth.Messages.ITokenSecretContainingMessage)" /> should be carried over
            to the new Access Token.
            </para>
        <para>
            To associate a user account with the new access token,
            <see cref="P:System.Web.HttpContext.User">HttpContext.Current.User</see> may be
            useful in an ASP.NET web application within the implementation of this method.
            Alternatively you may store the access token here without associating with a user account,
            and wait until <see cref="M:DotNetOpenAuth.OAuth.WebConsumer.ProcessUserAuthorization" /> or
            <see cref="M:DotNetOpenAuth.OAuth.DesktopConsumer.ProcessUserAuthorization(System.String,System.String)" /> return the access
            token to associate the access token with a user account at that point.
            </para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManagerContract.DotNetOpenAuth#OAuth#ChannelElements#ITokenManager#GetTokenType(System.String)">
      <summary>
            Classifies a token as a request token or an access token.
            </summary>
      <param name="token">The token to classify.</param>
      <returns>
            Request or Access token, or invalid if the token is not recognized.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthHttpMethodBindingElement">
      <summary>
            Sets the HTTP Method property on a signed message before the signing module gets to it.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IChannelBindingElement">
      <summary>
            An interface that must be implemented by message transforms/validators in order
            to be included in the channel stack.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <remarks>
            Implementations that provide message protection must honor the 
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <remarks>
            Implementations that provide message protection must honor the 
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IChannelBindingElement.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
      <remarks>
            This property is set by the channel when it is first constructed.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IChannelBindingElement.Protection">
      <summary>
            Gets the protection commonly offered (if any) by this binding element.
            </summary>
      <remarks>
            This value is used to assist in sorting binding elements in the channel stack.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthHttpMethodBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            True if the <paramref name="message" /> applied to this binding element
            and the operation was successful.  False otherwise.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthHttpMethodBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            True if the <paramref name="message" /> applied to this binding element
            and the operation was successful.  False if the operation did not apply to this message.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.OAuthHttpMethodBindingElement.Protection">
      <summary>
            Gets the protection offered (if any) by this binding element.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.OAuthHttpMethodBindingElement.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthIdentity">
      <summary>
            Represents an OAuth consumer that is impersonating a known user on the system.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthIdentity.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthIdentity" /> class.
            </summary>
      <param name="username">The username.</param>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(username)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(username)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.OAuthIdentity.AuthenticationType">
      <summary>
            Gets the type of authentication used.
            </summary>
      <value>The constant "OAuth"</value>
      <returns>
            The type of authentication used to identify the user.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.OAuthIdentity.IsAuthenticated">
      <summary>
            Gets a value indicating whether the user has been authenticated.
            </summary>
      <value>The value <c>true</c></value>
      <returns>true if the user was authenticated; otherwise, false.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.OAuthIdentity.Name">
      <summary>
            Gets the name of the user who authorized the OAuth token the consumer is using for authorization.
            </summary>
      <returns>
            The name of the user on whose behalf the code is running.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthPrincipal">
      <summary>
            Represents an OAuth consumer that is impersonating a known user on the system.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ChannelElements.OAuthPrincipal.roles">
      <summary>
            The roles this user belongs to.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthPrincipal.#ctor(DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderAccessToken)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthPrincipal" /> class.
            </summary>
      <param name="token">The access token.</param>
      <requires exception="T:System.ArgumentNullException">token != null</requires>
      <exception cref="T:System.ArgumentNullException">token == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthPrincipal.#ctor(DotNetOpenAuth.OAuth.ChannelElements.OAuthIdentity,System.String[])">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthPrincipal" /> class.
            </summary>
      <param name="identity">The identity.</param>
      <param name="roles">The roles this user belongs to.</param>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthPrincipal.#ctor(System.String,System.String[])">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthPrincipal" /> class.
            </summary>
      <param name="username">The username.</param>
      <param name="roles">The roles this user belongs to.</param>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthPrincipal.IsInRole(System.String)">
      <summary>
            Determines whether the current principal belongs to the specified role.
            </summary>
      <param name="role">The name of the role for which to check membership.</param>
      <returns>
            true if the current principal is a member of the specified role; otherwise, false.
            </returns>
      <remarks>
            The role membership check uses <see cref="P:System.StringComparer.OrdinalIgnoreCase" />.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.OAuthPrincipal.AccessToken">
      <summary>
            Gets the access token used to create this principal.
            </summary>
      <value>A non-empty string.</value>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.OAuthPrincipal.Identity">
      <summary>
            Gets the identity of the current principal.
            </summary>
      <value />
      <returns>
            The <see cref="T:System.Security.Principal.IIdentity" /> object associated with the current principal.
            </returns>
      <getter>
        <ensures inheritedFrom="M:System.Security.Principal.IPrincipal.get_Identity" inheritedFromTypeName="IPrincipal">Contract.Result&lt;IIdentity&gt;() != null</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.PlaintextSigningBindingElement">
      <summary>
            A binding element that signs outgoing messages and verifies the signature on incoming messages.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase">
      <summary>
            A binding element that signs outgoing messages and verifies the signature on incoming messages.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElement">
      <summary>
            An interface that must be implemented by message transforms/validators in order
            to be included in the channel stack.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElement.Clone">
      <summary>
            Clones this instance.
            </summary>
      <returns>The cloned instance.</returns>
      <ensures>Contract.Result&lt;ITamperProtectionChannelBindingElement&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElement.SignatureCallback">
      <summary>
            Gets or sets the delegate that will initialize the non-serialized properties necessary on a
            signable message so that its signature can be correctly calculated or verified.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.signatureMethod">
      <summary>
            The signature method this binding element uses.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase" /> class.
            </summary>
      <param name="signatureMethod">The OAuth signature method that the binding element uses.</param>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.DotNetOpenAuth#Messaging#ITamperProtectionChannelBindingElement#Clone">
      <summary>
            Creates a new object that is a copy of the current instance.
            </summary>
      <returns>
            A new object that is a copy of this instance.
            </returns>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElement.Clone" inheritedFromTypeName="ITamperProtectionChannelBindingElement">Contract.Result&lt;ITamperProtectionChannelBindingElement&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Signs the outgoing message.
            </summary>
      <param name="message">The message to sign.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Verifies the signature on an incoming message.
            </summary>
      <param name="message">The message whose signature should be verified.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.Bindings.InvalidSignatureException">Thrown if the signature is invalid.</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.ConstructSignatureBaseString(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage,DotNetOpenAuth.Messaging.Reflection.MessageDictionary)">
      <summary>
            Constructs the OAuth Signature Base String and returns the result.
            </summary>
      <param name="message">The message.</param>
      <param name="messageDictionary">The message to derive the signature base string from.</param>
      <returns>The signature base string.</returns>
      <remarks>
            This method implements OAuth 1.0 section 9.1.
            </remarks>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(message.HttpMethod)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(message.HttpMethod)</exception>
      <requires exception="T:System.ArgumentNullException">messageDictionary != null</requires>
      <exception cref="T:System.ArgumentNullException">messageDictionary == null</exception>
      <requires exception="T:System.ArgumentException">messageDictionary.Message == message</requires>
      <exception cref="T:System.ArgumentException">messageDictionary.Message != message</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.GetSignatureTestHook(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)">
      <summary>
            Calculates a signature for a given message.
            </summary>
      <param name="message">The message to sign.</param>
      <returns>The signature for the message.</returns>
      <remarks>
            This method signs the message per OAuth 1.0 section 9.2.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.GetConsumerAndTokenSecretString(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)">
      <summary>
            Gets the "ConsumerSecret&amp;TokenSecret" string, allowing either property to be empty or null.
            </summary>
      <param name="message">The message to extract the secrets from.</param>
      <returns>The concatenated string.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.IsSignatureValid(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)">
      <summary>
            Determines whether the signature on some message is valid.
            </summary>
      <param name="message">The message to check the signature on.</param>
      <returns>
        <c>true</c> if the signature on the message is valid; otherwise, <c>false</c>.
            </returns>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.Clone">
      <summary>
            Clones this instance.
            </summary>
      <returns>A new instance of the binding element.</returns>
      <remarks>
            Implementations of this method need not clone the SignatureVerificationCallback member, as the
            <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase" /> class does this.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.GetSignature(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)">
      <summary>
            Calculates a signature for a given message.
            </summary>
      <param name="message">The message to sign.</param>
      <returns>The signature for the message.</returns>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires exception="T:System.InvalidOperationException">this.Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">this.Channel == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.IsMessageApplicable(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)">
      <summary>
            Checks whether this binding element applies to this message.
            </summary>
      <param name="message">The message that needs to be signed.</param>
      <returns>True if this binding element can be used to sign the message.  False otherwise.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.SignatureBaseStringParameterComparer(System.Collections.Generic.KeyValuePair{System.String,System.String},System.Collections.Generic.KeyValuePair{System.String,System.String})">
      <summary>
            Sorts parameters according to OAuth signature base string rules.
            </summary>
      <param name="left">The first parameter to compare.</param>
      <param name="right">The second parameter to compare.</param>
      <returns>Negative, zero or positive.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.Protection">
      <summary>
            Gets the message protection provided by this binding element.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.SignatureCallback">
      <summary>
            Gets or sets the delegate that will initialize the non-serialized properties necessary on a signed
            message so that its signature can be correctly calculated for verification.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.PlaintextSigningBindingElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.PlaintextSigningBindingElement" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.PlaintextSigningBindingElement.GetSignature(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)">
      <summary>
            Calculates a signature for a given message.
            </summary>
      <param name="message">The message to sign.</param>
      <returns>The signature for the message.</returns>
      <remarks>
            This method signs the message according to OAuth 1.0 section 9.4.1.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.GetSignature(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)" inheritedFromTypeName="SigningBindingElementBase" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.GetSignature(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)" inheritedFromTypeName="SigningBindingElementBase" exception="T:System.InvalidOperationException">this.Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">this.Channel == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.PlaintextSigningBindingElement.IsMessageApplicable(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)">
      <summary>
            Checks whether this binding element applies to this message.
            </summary>
      <param name="message">The message that needs to be signed.</param>
      <returns>True if this binding element can be used to sign the message.  False otherwise.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.PlaintextSigningBindingElement.Clone">
      <summary>
            Clones this instance.
            </summary>
      <returns>A new instance of the binding element.</returns>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.HmacSha1SigningBindingElement">
      <summary>
            A binding element that signs outgoing messages and verifies the signature on incoming messages.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.HmacSha1SigningBindingElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.HmacSha1SigningBindingElement" /> class
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.HmacSha1SigningBindingElement.GetSignature(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)">
      <summary>
            Calculates a signature for a given message.
            </summary>
      <param name="message">The message to sign.</param>
      <returns>The signature for the message.</returns>
      <remarks>
            This method signs the message per OAuth 1.0 section 9.2.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.GetSignature(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)" inheritedFromTypeName="SigningBindingElementBase" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.GetSignature(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)" inheritedFromTypeName="SigningBindingElementBase" exception="T:System.InvalidOperationException">this.Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">this.Channel == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.HmacSha1SigningBindingElement.Clone">
      <summary>
            Clones this instance.
            </summary>
      <returns>A new instance of the binding element.</returns>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderRequestToken">
      <summary>
            A description of a request token and its metadata as required by a Service Provider
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderRequestToken.Token">
      <summary>
            Gets the token itself.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderRequestToken.ConsumerKey">
      <summary>
            Gets the consumer key that requested this token.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderRequestToken.CreatedOn">
      <summary>
            Gets the (local) date that this request token was first created on.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderRequestToken.Callback">
      <summary>
            Gets or sets the callback associated specifically with this token, if any.
            </summary>
      <value>The callback URI; or <c>null</c> if no callback was specifically assigned to this token.</value>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderRequestToken.VerificationCode">
      <summary>
            Gets or sets the verifier that the consumer must include in the <see cref="T:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequest" />
            message to exchange this request token for an access token.
            </summary>
      <value>The verifier code, or <c>null</c> if none has been assigned (yet).</value>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderRequestToken.ConsumerVersion">
      <summary>
            Gets or sets the version of the Consumer that requested this token.
            </summary>
      <remarks>
            This property is used to determine whether a <see cref="P:DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderRequestToken.VerificationCode" /> must be
            generated when the user authorizes the Consumer or not.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBaseContract">
      <summary>
            Code Contract for the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBaseContract.#ctor">
      <summary>
            Prevents a default instance of the SigningBindingElementBaseContract class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBaseContract.Clone">
      <summary>
            Clones this instance.
            </summary>
      <returns>A new instance of the binding element.</returns>
      <remarks>
            Implementations of this method need not clone the SignatureVerificationCallback member, as the
            <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase" /> class does this.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBaseContract.GetSignature(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)">
      <summary>
            Calculates a signature for a given message.
            </summary>
      <param name="message">The message to sign.</param>
      <returns>The signature for the message.</returns>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementChain">
      <summary>
            A tamper protection applying binding element that can use any of several given
            binding elements to apply the protection.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementChain.signers">
      <summary>
            The various signing binding elements that may be applicable to a message in preferred use order.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementChain.#ctor(DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElement[])">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementChain" /> class.
            </summary>
      <param name="signers">
            The signing binding elements that may be used for some outgoing message,
            in preferred use order.
            </param>
      <requires exception="T:System.ArgumentNullException">signers != null</requires>
      <exception cref="T:System.ArgumentNullException">signers == null</exception>
      <requires exception="T:System.ArgumentException">signers.Length &gt; 0</requires>
      <exception cref="T:System.ArgumentException">signers.Length &lt;= 0</exception>
      <requires exception="T:System.ArgumentException">!signers.Contains(null)</requires>
      <exception cref="T:System.ArgumentException">signers.Contains(null)</exception>
      <requires exception="T:System.ArgumentException">signers.Select(s =&gt; s.Protection).Distinct().Count() == 1</requires>
      <exception cref="T:System.ArgumentException">!(signers.Select(s =&gt; s.Protection).Distinct().Count() == 1)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementChain.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementChain.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementChain.DotNetOpenAuth#Messaging#ITamperProtectionChannelBindingElement#Clone">
      <summary>
            Creates a new object that is a copy of the current instance.
            </summary>
      <returns>
            A new object that is a copy of this instance.
            </returns>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElement.Clone" inheritedFromTypeName="ITamperProtectionChannelBindingElement">Contract.Result&lt;ITamperProtectionChannelBindingElement&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementChain.SignatureCallback">
      <summary>
            Gets or sets the delegate that will initialize the non-serialized properties necessary on a signed
            message so that its signature can be correctly calculated for verification.
            May be null for Consumers (who never have to verify signatures).
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementChain.Protection">
      <summary>
            Gets the protection offered (if any) by this binding element.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementChain.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.StandardTokenGenerator">
      <summary>
            A cryptographically strong random string generator for tokens and secrets.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.StandardTokenGenerator.GenerateRequestToken(System.String)">
      <summary>
            Generates a new token to represent a not-yet-authorized request to access protected resources.
            </summary>
      <param name="consumerKey">The consumer that requested this token.</param>
      <returns>The newly generated token.</returns>
      <remarks>
            This method should not store the newly generated token in any persistent store.
            This will be done in <see cref="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.StoreNewRequestToken(DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest,DotNetOpenAuth.OAuth.Messages.ITokenSecretContainingMessage)" />.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.StandardTokenGenerator.GenerateAccessToken(System.String)">
      <summary>
            Generates a new token to represent an authorized request to access protected resources.
            </summary>
      <param name="consumerKey">The consumer that requested this token.</param>
      <returns>The newly generated token.</returns>
      <remarks>
            This method should not store the newly generated token in any persistent store.
            This will be done in <see cref="M:DotNetOpenAuth.OAuth.ChannelElements.ITokenManager.ExpireRequestTokenAndStoreNewAccessToken(System.String,System.String,System.String,System.String)" />.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.StandardTokenGenerator.GenerateSecret">
      <summary>
            Returns a cryptographically strong random string for use as a token secret.
            </summary>
      <returns>The generated string.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.StandardTokenGenerator.GenerateCryptographicallyStrongString">
      <summary>
            Returns a new random string.
            </summary>
      <returns>The new random string.</returns>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.TokenType">
      <summary>
            The two types of tokens that exist in the OAuth protocol.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ChannelElements.TokenType.RequestToken">
      <summary>
            A token that is freely issued to any known Consumer.
            It does not grant any authorization to access protected resources,
            but is used as a step in obtaining that access.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ChannelElements.TokenType.AccessToken">
      <summary>
            A token only obtained after the owner of some protected resource(s)
            has approved a Consumer's access to said resource(s).
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ChannelElements.TokenType.InvalidToken">
      <summary>
            An unrecognized, expired or invalid token.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.UriOrOobEncoding">
      <summary>
            An URI encoder that translates null <see cref="T:System.Uri" /> references as "oob" 
            instead of an empty/missing argument.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ChannelElements.UriOrOobEncoding.OutOfBandConfiguration">
      <summary>
            The string constant "oob", used to indicate an out-of-band configuration.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.UriOrOobEncoding.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.UriOrOobEncoding" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.UriOrOobEncoding.Encode(System.Object)">
      <summary>
            Encodes the specified value.
            </summary>
      <param name="value">The value.  Guaranteed to never be null.</param>
      <returns>
            The <paramref name="value" /> in string form, ready for message transport.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder.Encode(System.Object)" inheritedFromTypeName="IMessagePartEncoder" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.UriOrOobEncoding.Decode(System.String)">
      <summary>
            Decodes the specified value.
            </summary>
      <param name="value">The string value carried by the transport.  Guaranteed to never be null, although it may be empty.</param>
      <returns>
            The deserialized form of the given string.
            </returns>
      <exception cref="T:System.FormatException">Thrown when the string value given cannot be decoded into the required object type.</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder.Decode(System.String)" inheritedFromTypeName="IMessagePartEncoder" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.UriOrOobEncoding.EncodedNullValue">
      <summary>
            Gets the string representation to include in a serialized message
            when the message part has a <c>null</c> value.
            </summary>
      <value />
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.TokenHandlingBindingElement">
      <summary>
            A binding element for Service Providers to manage the 
            callbacks and verification codes on applicable messages.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ChannelElements.TokenHandlingBindingElement.tokenManager">
      <summary>
            The token manager offered by the service provider.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ChannelElements.TokenHandlingBindingElement.securitySettings">
      <summary>
            The security settings for this service provider.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.TokenHandlingBindingElement.#ctor(DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager,DotNetOpenAuth.OAuth.ServiceProviderSecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.TokenHandlingBindingElement" /> class.
            </summary>
      <param name="tokenManager">The token manager.</param>
      <param name="securitySettings">The security settings.</param>
      <requires exception="T:System.ArgumentNullException">tokenManager != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenManager == null</exception>
      <requires description="securitySettings" exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.TokenHandlingBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.TokenHandlingBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.TokenHandlingBindingElement.VerifyThrowTokenNotExpired(DotNetOpenAuth.OAuth.Messages.AccessProtectedResourceRequest)">
      <summary>
            Ensures that access tokens have not yet expired.
            </summary>
      <param name="message">The incoming message carrying the access token.</param>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.TokenHandlingBindingElement.VerifyThrowTokenTimeToLive(DotNetOpenAuth.OAuth.Messages.ITokenContainingMessage)">
      <summary>
            Ensures that short-lived request tokens included in incoming messages have not expired.
            </summary>
      <param name="message">The incoming message.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown when the token in the message has expired.</exception>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.TokenHandlingBindingElement.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
      <remarks>
            This property is set by the channel when it is first constructed.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.TokenHandlingBindingElement.Protection">
      <summary>
            Gets the protection commonly offered (if any) by this binding element.
            </summary>
      <remarks>
            This value is used to assist in sorting binding elements in the channel stack.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ConsumerBase">
      <summary>
            Base class for <see cref="T:DotNetOpenAuth.OAuth.WebConsumer" /> and <see cref="T:DotNetOpenAuth.OAuth.DesktopConsumer" /> types.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ConsumerBase.#ctor(DotNetOpenAuth.OAuth.ServiceProviderDescription,DotNetOpenAuth.OAuth.ChannelElements.IConsumerTokenManager)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ConsumerBase" /> class.
            </summary>
      <param name="serviceDescription">The endpoints and behavior of the Service Provider.</param>
      <param name="tokenManager">The host's method of storing and recalling tokens and secrets.</param>
      <requires exception="T:System.ArgumentNullException">serviceDescription != null</requires>
      <exception cref="T:System.ArgumentNullException">serviceDescription == null</exception>
      <requires exception="T:System.ArgumentNullException">tokenManager != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenManager == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ConsumerBase.PrepareAuthorizedRequest(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.String)">
      <summary>
            Creates a web request prepared with OAuth authorization 
            that may be further tailored by adding parameters by the caller.
            </summary>
      <param name="endpoint">The URL and method on the Service Provider to send the request to.</param>
      <param name="accessToken">The access token that permits access to the protected resource.</param>
      <returns>The initialized WebRequest object.</returns>
      <requires exception="T:System.ArgumentNullException">endpoint != null</requires>
      <exception cref="T:System.ArgumentNullException">endpoint == null</exception>
      <requires exception="T:System.ArgumentNullException">!String.IsNullOrEmpty(accessToken)</requires>
      <exception cref="T:System.ArgumentNullException">String.IsNullOrEmpty(accessToken)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ConsumerBase.PrepareAuthorizedRequest(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.String,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Creates a web request prepared with OAuth authorization
            that may be further tailored by adding parameters by the caller.
            </summary>
      <param name="endpoint">The URL and method on the Service Provider to send the request to.</param>
      <param name="accessToken">The access token that permits access to the protected resource.</param>
      <param name="extraData">Extra parameters to include in the message.  Must not be null, but may be empty.</param>
      <returns>The initialized WebRequest object.</returns>
      <requires exception="T:System.ArgumentNullException">endpoint != null</requires>
      <exception cref="T:System.ArgumentNullException">endpoint == null</exception>
      <requires exception="T:System.ArgumentNullException">!String.IsNullOrEmpty(accessToken)</requires>
      <exception cref="T:System.ArgumentNullException">String.IsNullOrEmpty(accessToken)</exception>
      <requires exception="T:System.ArgumentNullException">extraData != null</requires>
      <exception cref="T:System.ArgumentNullException">extraData == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ConsumerBase.PrepareAuthorizedRequest(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.String,System.Collections.Generic.IEnumerable{DotNetOpenAuth.Messaging.MultipartPostPart})">
      <summary>
            Prepares an authorized request that carries an HTTP multi-part POST, allowing for binary data.
            </summary>
      <param name="endpoint">The URL and method on the Service Provider to send the request to.</param>
      <param name="accessToken">The access token that permits access to the protected resource.</param>
      <param name="binaryData">Extra parameters to include in the message.  Must not be null, but may be empty.</param>
      <returns>The initialized WebRequest object.</returns>
      <requires exception="T:System.ArgumentNullException">endpoint != null</requires>
      <exception cref="T:System.ArgumentNullException">endpoint == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(accessToken)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(accessToken)</exception>
      <requires exception="T:System.ArgumentNullException">binaryData != null</requires>
      <exception cref="T:System.ArgumentNullException">binaryData == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ConsumerBase.PrepareAuthorizedRequest(DotNetOpenAuth.OAuth.Messages.AccessProtectedResourceRequest)">
      <summary>
            Prepares an HTTP request that has OAuth authorization already attached to it.
            </summary>
      <param name="message">The OAuth authorization message to attach to the HTTP request.</param>
      <returns>
            The HttpWebRequest that can be used to send the HTTP request to the remote service provider.
            </returns>
      <remarks>
            If <see cref="P:DotNetOpenAuth.Messaging.IDirectedProtocolMessage.HttpMethods" /> property on the
            <paramref name="message" /> has the
            <see cref="F:DotNetOpenAuth.Messaging.HttpDeliveryMethods.AuthorizationHeaderRequest" /> flag set and
            <see cref="P:DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage.HttpMethod" /> is set to an HTTP method
            that includes an entity body, the request stream is automatically sent
            if and only if the <see cref="P:DotNetOpenAuth.Messaging.IMessage.ExtraData" /> dictionary is non-empty.
            </remarks>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ConsumerBase.PrepareAuthorizedRequestAndSend(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.String)">
      <summary>
            Creates a web request prepared with OAuth authorization 
            that may be further tailored by adding parameters by the caller.
            </summary>
      <param name="endpoint">The URL and method on the Service Provider to send the request to.</param>
      <param name="accessToken">The access token that permits access to the protected resource.</param>
      <returns>The initialized WebRequest object.</returns>
      <exception cref="T:System.Net.WebException">Thrown if the request fails for any reason after it is sent to the Service Provider.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ConsumerBase.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ConsumerBase.CreateAuthorizingMessage(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.String)">
      <summary>
            Creates a web request prepared with OAuth authorization 
            that may be further tailored by adding parameters by the caller.
            </summary>
      <param name="endpoint">The URL and method on the Service Provider to send the request to.</param>
      <param name="accessToken">The access token that permits access to the protected resource.</param>
      <returns>The initialized WebRequest object.</returns>
      <requires exception="T:System.ArgumentNullException">endpoint != null</requires>
      <exception cref="T:System.ArgumentNullException">endpoint == null</exception>
      <requires exception="T:System.ArgumentNullException">!String.IsNullOrEmpty(accessToken)</requires>
      <exception cref="T:System.ArgumentNullException">String.IsNullOrEmpty(accessToken)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ConsumerBase.PrepareRequestUserAuthorization(System.Uri,System.Collections.Generic.IDictionary{System.String,System.String},System.Collections.Generic.IDictionary{System.String,System.String},System.String@)">
      <summary>
            Prepares an OAuth message that begins an authorization request that will 
            redirect the user to the Service Provider to provide that authorization.
            </summary>
      <param name="callback">
            An optional Consumer URL that the Service Provider should redirect the 
            User Agent to upon successful authorization.
            </param>
      <param name="requestParameters">Extra parameters to add to the request token message.  Optional.</param>
      <param name="redirectParameters">Extra parameters to add to the redirect to Service Provider message.  Optional.</param>
      <param name="requestToken">The request token that must be exchanged for an access token after the user has provided authorization.</param>
      <returns>The pending user agent redirect based message to be sent as an HttpResponse.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ConsumerBase.ProcessUserAuthorization(System.String,System.String)">
      <summary>
            Exchanges a given request token for access token.
            </summary>
      <param name="requestToken">The request token that the user has authorized.</param>
      <param name="verifier">The verifier code.</param>
      <returns>
            The access token assigned by the Service Provider.
            </returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(requestToken)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(requestToken)</exception>
      <ensures>Contract.Result&lt;AuthorizedTokenResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ConsumerBase.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ConsumerBase.ConsumerKey">
      <summary>
            Gets the Consumer Key used to communicate with the Service Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ConsumerBase.ServiceProvider">
      <summary>
            Gets the Service Provider that will be accessed.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ConsumerBase.TokenManager">
      <summary>
            Gets the persistence store for tokens and secrets.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ConsumerBase.Channel">
      <summary>
            Gets the channel to use for sending/receiving messages.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ConsumerBase.SecuritySettings">
      <summary>
            Gets the security settings for this consumer.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ConsumerBase.OAuthChannel">
      <summary>
            Gets or sets the channel to use for sending/receiving messages.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ConsumerSecuritySettings">
      <summary>
            Security settings that are applicable to consumers.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.SecuritySettings">
      <summary>
            Security settings that may be applicable to both consumers and service providers.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.SecuritySettings.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.SecuritySettings" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ConsumerSecuritySettings.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ConsumerSecuritySettings" /> class.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.DesktopConsumer">
      <summary>
            Used by a desktop application to use OAuth to access the Service Provider on behalf of the User.
            </summary>
      <remarks>
            The methods on this class are thread-safe.  Provided the properties are set and not changed
            afterward, a single instance of this class may be used by an entire desktop application safely.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.DesktopConsumer.#ctor(DotNetOpenAuth.OAuth.ServiceProviderDescription,DotNetOpenAuth.OAuth.ChannelElements.IConsumerTokenManager)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.DesktopConsumer" /> class.
            </summary>
      <param name="serviceDescription">The endpoints and behavior of the Service Provider.</param>
      <param name="tokenManager">The host's method of storing and recalling tokens and secrets.</param>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.DesktopConsumer.RequestUserAuthorization(System.Collections.Generic.IDictionary{System.String,System.String},System.Collections.Generic.IDictionary{System.String,System.String},System.String@)">
      <summary>
            Begins an OAuth authorization request.
            </summary>
      <param name="requestParameters">Extra parameters to add to the request token message.  Optional.</param>
      <param name="redirectParameters">Extra parameters to add to the redirect to Service Provider message.  Optional.</param>
      <param name="requestToken">The request token that must be exchanged for an access token after the user has provided authorization.</param>
      <returns>The URL to open a browser window to allow the user to provide authorization.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.DesktopConsumer.ProcessUserAuthorization(System.String)">
      <summary>
            Exchanges a given request token for access token.
            </summary>
      <param name="requestToken">The request token that the user has authorized.</param>
      <returns>The access token assigned by the Service Provider.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.DesktopConsumer.ProcessUserAuthorization(System.String,System.String)">
      <summary>
            Exchanges a given request token for access token.
            </summary>
      <param name="requestToken">The request token that the user has authorized.</param>
      <param name="verifier">The verifier code typed in by the user.  Must not be <c>Null</c> for OAuth 1.0a service providers and later.</param>
      <returns>
            The access token assigned by the Service Provider.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IMessageWithBinaryData">
      <summary>
            The interface that classes must implement to be serialized/deserialized
            as protocol or extension messages that uses POST multi-part data for binary content.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IDirectedProtocolMessage">
      <summary>
            Implemented by messages that have explicit recipients
            (direct requests and all indirect messages).
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IDirectedProtocolMessage.HttpMethods">
      <summary>
            Gets the preferred method of transport for the message.
            </summary>
      <remarks>
            For indirect messages this will likely be GET+POST, which both can be simulated in the user agent:
            the GET with a simple 301 Redirect, and the POST with an HTML form in the response with javascript
            to automate submission.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IDirectedProtocolMessage.Recipient">
      <summary>
            Gets the URL of the intended receiver of this message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageWithBinaryData.BinaryData">
      <summary>
            Gets the parts of the message that carry binary data.
            </summary>
      <value>A list of parts.  Never null.</value>
      <getter>
        <ensures>Contract.Result&lt;IList&lt;MultipartPostPart&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageWithBinaryData.SendAsMultipart">
      <summary>
            Gets a value indicating whether this message should be sent as multi-part POST.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IMessageWithBinaryDataContract">
      <summary>
            The contract class for the <see cref="T:DotNetOpenAuth.Messaging.IMessageWithBinaryData" /> interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IMessageWithBinaryDataContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.Messaging.IMessageWithBinaryDataContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IMessageWithBinaryDataContract.DotNetOpenAuth#Messaging#IMessage#EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageWithBinaryDataContract.DotNetOpenAuth#Messaging#IMessageWithBinaryData#BinaryData">
      <summary>
            Gets the parts of the message that carry binary data.
            </summary>
      <value>A list of parts.  Never null.</value>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageWithBinaryDataContract.DotNetOpenAuth#Messaging#IMessageWithBinaryData#SendAsMultipart">
      <summary>
            Gets a value indicating whether this message should be sent as multi-part POST.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageWithBinaryDataContract.DotNetOpenAuth#Messaging#IMessage#Version">
      <summary>
            Gets the version of the protocol or extension this message is prepared to implement.
            </summary>
      <value />
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageWithBinaryDataContract.DotNetOpenAuth#Messaging#IMessage#ExtraData">
      <summary>
            Gets the extra, non-standard Protocol parameters included in the message.
            </summary>
      <value />
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageWithBinaryDataContract.DotNetOpenAuth#Messaging#IDirectedProtocolMessage#HttpMethods">
      <summary>
            Gets the preferred method of transport for the message.
            </summary>
      <remarks>
            For indirect messages this will likely be GET+POST, which both can be simulated in the user agent:
            the GET with a simple 301 Redirect, and the POST with an HTML form in the response with javascript
            to automate submission.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageWithBinaryDataContract.DotNetOpenAuth#Messaging#IDirectedProtocolMessage#Recipient">
      <summary>
            Gets the URL of the intended receiver of this message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageWithBinaryDataContract.DotNetOpenAuth#Messaging#IProtocolMessage#RequiredProtection">
      <summary>
            Gets the level of protection this message requires.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IMessageWithBinaryDataContract.DotNetOpenAuth#Messaging#IProtocolMessage#Transport">
      <summary>
            Gets a value indicating whether this is a direct or indirect message.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.Messages.ITokenSecretContainingMessage">
      <summary>
            An interface implemented by all OAuth messages that have a request or access token and secret properties.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.Messages.ITokenContainingMessage">
      <summary>
            An interface implemented by all OAuth messages that have a request or access token property.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.ITokenContainingMessage.Token">
      <summary>
            Gets or sets the Request or Access Token.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.ITokenSecretContainingMessage.TokenSecret">
      <summary>
            Gets or sets the Request or Access Token secret.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.ChannelEventArgs">
      <summary>
            The data packet sent with Channel events.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ChannelEventArgs.#ctor(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.ChannelEventArgs" /> class.
            </summary>
      <param name="message">The message behind the fired event..</param>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.ChannelEventArgs.Message">
      <summary>
            Gets the message that caused the event to fire.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElementContract">
      <summary>
            Contract class for the <see cref="T:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElement" /> interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElementContract.DotNetOpenAuth#Messaging#IChannelBindingElement#ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElementContract.DotNetOpenAuth#Messaging#IChannelBindingElement#ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElementContract.DotNetOpenAuth#Messaging#ITamperProtectionChannelBindingElement#Clone">
      <summary>
            Clones this instance.
            </summary>
      <returns>The cloned instance.</returns>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElementContract.DotNetOpenAuth#Messaging#ITamperProtectionChannelBindingElement#SignatureCallback">
      <summary>
            Gets or sets the delegate that will initialize the non-serialized properties necessary on a
            signable message so that its signature can be correctly calculated or verified.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElementContract.DotNetOpenAuth#Messaging#IChannelBindingElement#Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
      <remarks>
            This property is set by the channel when it is first constructed.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElementContract.DotNetOpenAuth#Messaging#IChannelBindingElement#Protection">
      <summary>
            Gets the protection commonly offered (if any) by this binding element.
            </summary>
      <remarks>
            This value is used to assist in sorting binding elements in the channel stack.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.OAuthStrings">
      <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.ResourceManager">
      <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.Culture">
      <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.AccessTokenNotAuthorized">
      <summary>
              Looks up a localized string similar to Cannot send access token to Consumer for request token '{0}' before it has been authorized..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.BadAccessTokenInProtectedResourceRequest">
      <summary>
              Looks up a localized string similar to The access token '{0}' is invalid or expired..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.ConsumerOrTokenSecretNotFound">
      <summary>
              Looks up a localized string similar to Failure looking up secret for consumer or token..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.IncorrectVerifier">
      <summary>
              Looks up a localized string similar to oauth_verifier argument was incorrect..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.InvalidIncomingMessage">
      <summary>
              Looks up a localized string similar to An invalid OAuth message received and discarded..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.MessageNotAllowedExtraParameters">
      <summary>
              Looks up a localized string similar to The {0} message included extra data which is not allowed..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.MinimumConsumerVersionRequirementNotMet">
      <summary>
              Looks up a localized string similar to This OAuth service provider requires OAuth consumers to implement OAuth {0}, but this consumer appears to only support {1}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.MultipartPostMustBeUsedWithAuthHeader">
      <summary>
              Looks up a localized string similar to Cannot send OAuth message as multipart POST without an authorization HTTP header because sensitive data would not be signed..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.OpenIdOAuthExtensionRequiresSpecialTokenManagerInterface">
      <summary>
              Looks up a localized string similar to Use of the OpenID+OAuth extension requires that the token manager in use implement the {0} interface..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.OpenIdOAuthRealmConsumerKeyDoNotMatch">
      <summary>
              Looks up a localized string similar to The OpenID Relying Party's realm is not recognized as belonging to the OAuth Consumer identified by the consumer key given..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.RequestUrlMustNotHaveOAuthParameters">
      <summary>
              Looks up a localized string similar to The request URL query MUST NOT contain any OAuth Protocol Parameters..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.SigningElementAlreadyAssociatedWithChannel">
      <summary>
              Looks up a localized string similar to The signing element already has been associated with a channel..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.SigningElementsMustShareSameProtection">
      <summary>
              Looks up a localized string similar to All signing elements must offer the same message protection..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.TokenNotFound">
      <summary>
              Looks up a localized string similar to A token in the message was not recognized by the service provider..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.OAuthStrings.X509CertificateNotProvidedForSigning">
      <summary>
              Looks up a localized string similar to The RSA-SHA1 signing binding element has not been set with a certificate for signing..
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ServiceProviderDescription">
      <summary>
            A description of the endpoints on a Service Provider.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ServiceProviderDescription.requestTokenEndpoint">
      <summary>
            The field used to store the value of the <see cref="P:DotNetOpenAuth.OAuth.ServiceProviderDescription.RequestTokenEndpoint" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProviderDescription.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ServiceProviderDescription" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProviderDescription.CreateTamperProtectionElement">
      <summary>
            Creates a signing element that includes all the signing elements this service provider supports.
            </summary>
      <returns>The created signing element.</returns>
      <requires>this.TamperProtectionElements != null</requires>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProviderDescription.ProtocolVersion">
      <summary>
            Gets or sets the OAuth version supported by the Service Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProviderDescription.RequestTokenEndpoint">
      <summary>
            Gets or sets the URL used to obtain an unauthorized Request Token,
            described in Section 6.1 (Obtaining an Unauthorized Request Token).
            </summary>
      <remarks>
            The request URL query MUST NOT contain any OAuth Protocol Parameters.
            This is the URL that <see cref="T:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest" /> messages are directed to.
            </remarks>
      <exception cref="T:System.ArgumentException">Thrown if this property is set to a URI with OAuth protocol parameters.</exception>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProviderDescription.UserAuthorizationEndpoint">
      <summary>
            Gets or sets the URL used to obtain User authorization for Consumer access, 
            described in Section 6.2 (Obtaining User Authorization).
            </summary>
      <remarks>
            This is the URL that <see cref="T:DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest" /> messages are
            indirectly (via the user agent) sent to.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProviderDescription.AccessTokenEndpoint">
      <summary>
            Gets or sets the URL used to exchange the User-authorized Request Token 
            for an Access Token, described in Section 6.3 (Obtaining an Access Token).
            </summary>
      <remarks>
            This is the URL that <see cref="T:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequest" /> messages are directed to.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProviderDescription.TamperProtectionElements">
      <summary>
            Gets or sets the signing policies that apply to this Service Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProviderDescription.Version">
      <summary>
            Gets the OAuth version supported by the Service Provider.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.Messages.SignedMessageBase">
      <summary>
            A base class for all signed OAuth messages.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.Messages.MessageBase">
      <summary>
            A base class for all OAuth messages.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Messages.MessageBase.extraData">
      <summary>
            A store for extra name/value data pairs that are attached to this message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Messages.MessageBase.protectionRequired">
      <summary>
            Gets a value indicating whether signing this message is required.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Messages.MessageBase.transport">
      <summary>
            Gets a value indicating whether this is a direct or indirect message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Messages.MessageBase.recipient">
      <summary>
            The URI to the remote endpoint to send this message to.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Messages.MessageBase.originatingRequest">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OAuth.Messages.MessageBase.OriginatingRequest" /> properties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Messages.MessageBase.incoming">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OAuth.Messages.MessageBase.Incoming" /> properties.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.MessageBase.#ctor(DotNetOpenAuth.Messaging.MessageProtections,DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Messages.MessageBase" /> class for direct response messages.
            </summary>
      <param name="protectionRequired">The level of protection the message requires.</param>
      <param name="originatingRequest">The request that asked for this direct response.</param>
      <param name="version">The OAuth version.</param>
      <requires exception="T:System.ArgumentNullException">originatingRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">originatingRequest == null</exception>
      <requires exception="T:System.ArgumentNullException">version != null</requires>
      <exception cref="T:System.ArgumentNullException">version == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.MessageBase.#ctor(DotNetOpenAuth.Messaging.MessageProtections,DotNetOpenAuth.Messaging.MessageTransport,DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Messages.MessageBase" /> class for direct requests or indirect messages.
            </summary>
      <param name="protectionRequired">The level of protection the message requires.</param>
      <param name="transport">A value indicating whether this message requires a direct or indirect transport.</param>
      <param name="recipient">The URI that a directed message will be delivered to.</param>
      <param name="version">The OAuth version.</param>
      <requires exception="T:System.ArgumentNullException">recipient != null</requires>
      <exception cref="T:System.ArgumentNullException">recipient == null</exception>
      <requires exception="T:System.ArgumentNullException">version != null</requires>
      <exception cref="T:System.ArgumentNullException">version == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.MessageBase.DotNetOpenAuth#Messaging#IMessage#EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.MessageBase.ToString(DotNetOpenAuth.Messaging.Channel)">
      <summary>
            Returns a human-friendly string describing the message and all serializable properties.
            </summary>
      <param name="channel">The channel that will carry this message.</param>
      <returns>
            The string representation of this object.
            </returns>
      <requires exception="T:System.ArgumentNullException">channel != null</requires>
      <exception cref="T:System.ArgumentNullException">channel == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.MessageBase.SetAsIncoming">
      <summary>
            Sets a flag indicating that this message is received (as opposed to sent).
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.MessageBase.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.DotNetOpenAuth#Messaging#IMessage#Version">
      <summary>
            Gets the version of the protocol this message is prepared to implement.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_Version" inheritedFromTypeName="IMessage">Contract.Result&lt;Version&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.DotNetOpenAuth#Messaging#IProtocolMessage#RequiredProtection">
      <summary>
            Gets the level of protection this message requires.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.DotNetOpenAuth#Messaging#IProtocolMessage#Transport">
      <summary>
            Gets a value indicating whether this is a direct or indirect message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.DotNetOpenAuth#Messaging#IMessage#ExtraData">
      <summary>
            Gets the dictionary of additional name/value fields tacked on to this message.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_ExtraData" inheritedFromTypeName="IMessage">Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.DotNetOpenAuth#Messaging#IDirectedProtocolMessage#Recipient">
      <summary>
            Gets the URI to the Service Provider endpoint to send this message to.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.DotNetOpenAuth#Messaging#IDirectedProtocolMessage#HttpMethods">
      <summary>
            Gets the preferred method of transport for the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.DotNetOpenAuth#Messaging#IDirectResponseProtocolMessage#OriginatingRequest">
      <summary>
            Gets the originating request message that caused this response to be formed.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.LowSecurityMode">
      <summary>
            Gets or sets a value indicating whether security sensitive strings are 
            emitted from the ToString() method.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.Incoming">
      <summary>
            Gets a value indicating whether this message was deserialized as an incoming message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.Version">
      <summary>
            Gets the version of the protocol this message is prepared to implement.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.RequiredProtection">
      <summary>
            Gets the level of protection this message requires.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.Transport">
      <summary>
            Gets a value indicating whether this is a direct or indirect message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.ExtraData">
      <summary>
            Gets the dictionary of additional name/value fields tacked on to this message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.HttpMethods">
      <summary>
            Gets the preferred method of transport for the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.Recipient">
      <summary>
            Gets or sets the URI to the Service Provider endpoint to send this message to.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.MessageBase.OriginatingRequest">
      <summary>
            Gets the originating request message that caused this response to be formed.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage">
      <summary>
            An interface that OAuth messages implement to support signing.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.ITamperResistantProtocolMessage">
      <summary>
            The contract a message that is signed must implement.
            </summary>
      <remarks>
            This type might have appeared in the DotNetOpenAuth.Messaging.Bindings namespace since
            it is only used by types in that namespace, but all those types are internal and this
            is the only one that was public.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.ITamperResistantProtocolMessage.Signature">
      <summary>
            Gets or sets the message signature.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage.SignatureMethod">
      <summary>
            Gets or sets the method used to sign the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage.TokenSecret">
      <summary>
            Gets or sets the Token Secret used to sign the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage.ConsumerKey">
      <summary>
            Gets or sets the Consumer key.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage.ConsumerSecret">
      <summary>
            Gets or sets the Consumer Secret used to sign the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage.HttpMethod">
      <summary>
            Gets or sets the HTTP method that will be used to transmit the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage.Recipient">
      <summary>
            Gets or sets the URL of the intended receiver of this message.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Bindings.IExpiringProtocolMessage">
      <summary>
            The contract a message that has an allowable time window for processing must implement.
            </summary>
      <remarks>
            All expiring messages must also be signed to prevent tampering with the creation date.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Bindings.IExpiringProtocolMessage.UtcCreationDate">
      <summary>
            Gets or sets the UTC date/time the message was originally sent onto the network.
            </summary>
      <remarks>
            The property setter should ensure a UTC date/time,
            and throw an exception if this is not possible.
            </remarks>
      <exception cref="T:System.ArgumentException">
            Thrown when a DateTime that cannot be converted to UTC is set.
            </exception>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Bindings.IReplayProtectedProtocolMessage">
      <summary>
            The contract a message that has an allowable time window for processing must implement.
            </summary>
      <remarks>
            All replay-protected messages must also be set to expire so the nonces do not have
            to be stored indefinitely.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Bindings.IReplayProtectedProtocolMessage.NonceContext">
      <summary>
            Gets the context within which the nonce must be unique.
            </summary>
      <value>
            The value of this property must be a value assigned by the nonce consumer
            to represent the entity that generated the nonce.  The value must never be
            <c>null</c> but may be the empty string.
            This value is treated as case-sensitive.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Bindings.IReplayProtectedProtocolMessage.Nonce">
      <summary>
            Gets or sets the nonce that will protect the message from replay attacks.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.epoch">
      <summary>
            The reference date and time for calculating time stamps.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.timestamp">
      <summary>
            The number of seconds since 1/1/1970, consistent with the OAuth timestamp requirement.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.#ctor(DotNetOpenAuth.Messaging.MessageTransport,DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Messages.SignedMessageBase" /> class.
            </summary>
      <param name="transport">A value indicating whether this message requires a direct or indirect transport.</param>
      <param name="recipient">The URI that a directed message will be delivered to.</param>
      <param name="version">The OAuth version.</param>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.DotNetOpenAuth#OAuth#ChannelElements#ITamperResistantOAuthMessage#SignatureMethod">
      <summary>
            Gets or sets the signature method used to sign the request.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.DotNetOpenAuth#OAuth#ChannelElements#ITamperResistantOAuthMessage#TokenSecret">
      <summary>
            Gets or sets the Token Secret used to sign the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.ConsumerKey">
      <summary>
            Gets or sets the Consumer key.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.DotNetOpenAuth#OAuth#ChannelElements#ITamperResistantOAuthMessage#ConsumerSecret">
      <summary>
            Gets or sets the Consumer Secret used to sign the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.DotNetOpenAuth#OAuth#ChannelElements#ITamperResistantOAuthMessage#HttpMethod">
      <summary>
            Gets or sets the HTTP method that will be used to transmit the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.DotNetOpenAuth#OAuth#ChannelElements#ITamperResistantOAuthMessage#Recipient">
      <summary>
            Gets or sets the URI to the Service Provider endpoint to send this message to.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.DotNetOpenAuth#Messaging#ITamperResistantProtocolMessage#Signature">
      <summary>
            Gets or sets the message signature.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.DotNetOpenAuth#Messaging#Bindings#IExpiringProtocolMessage#UtcCreationDate">
      <summary>
            Gets or sets the OAuth timestamp of the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.DotNetOpenAuth#Messaging#Bindings#IReplayProtectedProtocolMessage#NonceContext">
      <summary>
            Gets the context within which the nonce must be unique.
            </summary>
      <value>The consumer key.</value>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.DotNetOpenAuth#Messaging#Bindings#IReplayProtectedProtocolMessage#Nonce">
      <summary>
            Gets or sets the message nonce used for replay detection.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.DotNetOpenAuth#Messaging#IMessageOriginalPayload#OriginalPayload">
      <summary>
            Gets or sets the original message parts, before any normalization or default values were assigned.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.OriginalPayload">
      <summary>
            Gets or sets the original message parts, before any normalization or default values were assigned.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.SignatureMethod">
      <summary>
            Gets or sets the signature method used to sign the request.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.TokenSecret">
      <summary>
            Gets or sets the Token Secret used to sign the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.ConsumerSecret">
      <summary>
            Gets or sets the Consumer Secret used to sign the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.HttpMethod">
      <summary>
            Gets or sets the HTTP method that will be used to transmit the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.Signature">
      <summary>
            Gets or sets the message signature.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.SignedMessageBase.OAuthVersion">
      <summary>
            Gets or sets the version of the protocol this message was created with.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore">
      <summary>
            An in-memory nonce store.  Useful for single-server web applications.
            NOT for web farms.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Bindings.INonceStore">
      <summary>
            Describes the contract a nonce store must fulfill.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.INonceStore.StoreNonce(System.String,System.String,System.DateTime)">
      <summary>
            Stores a given nonce and timestamp.
            </summary>
      <param name="context">The context, or namespace, within which the 
            <paramref name="nonce" /> must be unique.  
            The context SHOULD be treated as case-sensitive.
            The value will never be <c>null</c> but may be the empty string.</param>
      <param name="nonce">A series of random characters.</param>
      <param name="timestampUtc">The UTC timestamp that together with the nonce string make it unique
            within the given <paramref name="context" />.
            The timestamp may also be used by the data store to clear out old nonces.</param>
      <returns>
            True if the context+nonce+timestamp (combination) was not previously in the database.
            False if the nonce was stored previously with the same timestamp and context.
            </returns>
      <remarks>
            The nonce must be stored for no less than the maximum time window a message may
            be processed within before being discarded as an expired message.
            This maximum message age can be looked up via the
            <see cref="P:DotNetOpenAuth.Configuration.MessagingElement.MaximumMessageLifetime" />
            property, accessible via the <see cref="P:DotNetOpenAuth.Configuration.DotNetOpenAuthSection.Configuration" />
            property.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore.AutoCleaningFrequency">
      <summary>
            How frequently we should take time to clear out old nonces.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore.maximumMessageAge">
      <summary>
            The maximum age a message can be before it is discarded.
            </summary>
      <remarks>
            This is useful for knowing how long used nonces must be retained.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore.usedNonces">
      <summary>
            A list of the consumed nonces.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore.nonceLock">
      <summary>
            A lock object used around accesses to the <see cref="F:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore.usedNonces" /> field.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore.nonceClearingCounter">
      <summary>
            Where we're currently at in our periodic nonce cleaning cycle.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore.#ctor(System.TimeSpan)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore" /> class.
            </summary>
      <param name="maximumMessageAge">The maximum age a message can be before it is discarded.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore.StoreNonce(System.String,System.String,System.DateTime)">
      <summary>
            Stores a given nonce and timestamp.
            </summary>
      <param name="context">The context, or namespace, within which the <paramref name="nonce" /> must be unique.</param>
      <param name="nonce">A series of random characters.</param>
      <param name="timestamp">The timestamp that together with the nonce string make it unique.
            The timestamp may also be used by the data store to clear out old nonces.</param>
      <returns>
            True if the nonce+timestamp (combination) was not previously in the database.
            False if the nonce was stored previously with the same timestamp.
            </returns>
      <remarks>
            The nonce must be stored for no less than the maximum time window a message may
            be processed within before being discarded as an expired message.
            If the binding element is applicable to your channel, this expiration window
            is retrieved or set using the
            <see cref="P:DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement.MaximumMessageAge" /> property.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore.ClearExpiredNonces">
      <summary>
            Clears consumed nonces from the cache that are so old they would be
            rejected if replayed because it is expired.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ServiceProviderSecuritySettings">
      <summary>
            Security settings that are applicable to service providers.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProviderSecuritySettings.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ServiceProviderSecuritySettings" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProviderSecuritySettings.MinimumRequiredOAuthVersion">
      <summary>
            Gets or sets the minimum required version of OAuth that must be implemented by a Consumer.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProviderSecuritySettings.MaximumRequestTokenTimeToLive">
      <summary>
            Gets or sets the maximum time a user can take to complete authorization.
            </summary>
      <remarks>
            This time limit serves as a security mitigation against brute force attacks to
            compromise (unauthorized or authorized) request tokens.
            Longer time limits is more friendly to slow users or consumers, while shorter
            time limits provide better security.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.VerificationCodeFormat">
      <summary>
            The different formats a user authorization verifier code can take
            in order to be as secure as possible while being compatible with
            the type of OAuth Consumer requesting access.
            </summary>
      <remarks>
            Some Consumers may be set-top boxes, video games, mobile devies, etc.
            with very limited character entry support and no ability to receive
            a callback URI.  OAuth 1.0a requires that these devices operators
            must manually key in a verifier code, so in these cases it better
            be possible to do so given the input options on that device.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.VerificationCodeFormat.IncludedInCallback">
      <summary>
            The strongest verification code.
            The best option for web consumers since a callback is usually an option.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.VerificationCodeFormat.AlphaNumericNoLookAlikes">
      <summary>
            A combination of upper and lowercase letters and numbers may be used,
            allowing a computer operator to easily read from the screen and key
            in the verification code.
            </summary>
      <remarks>
            Some letters and numbers will be skipped where they are visually similar
            enough that they can be difficult to distinguish when displayed with most fonts.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.VerificationCodeFormat.AlphaUpper">
      <summary>
            Only uppercase letters will be used in the verification code.
            Verification codes are case-sensitive, so consumers with fixed
            keyboards with only one character case option may require this option.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.VerificationCodeFormat.AlphaLower">
      <summary>
            Only lowercase letters will be used in the verification code.
            Verification codes are case-sensitive, so consumers with fixed
            keyboards with only one character case option may require this option.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.VerificationCodeFormat.Numeric">
      <summary>
            Only the numbers 0-9 will be used in the verification code.
            Must useful for consumers running on mobile phone devices.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.WebConsumer">
      <summary>
            A website or application that uses OAuth to access the Service Provider on behalf of the User.
            </summary>
      <remarks>
            The methods on this class are thread-safe.  Provided the properties are set and not changed
            afterward, a single instance of this class may be used by an entire web application safely.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.WebConsumer.#ctor(DotNetOpenAuth.OAuth.ServiceProviderDescription,DotNetOpenAuth.OAuth.ChannelElements.IConsumerTokenManager)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.WebConsumer" /> class.
            </summary>
      <param name="serviceDescription">The endpoints and behavior of the Service Provider.</param>
      <param name="tokenManager">The host's method of storing and recalling tokens and secrets.</param>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.WebConsumer.PrepareRequestUserAuthorization">
      <summary>
            Begins an OAuth authorization request and redirects the user to the Service Provider
            to provide that authorization.  Upon successful authorization, the user is redirected
            back to the current page.
            </summary>
      <returns>The pending user agent redirect based message to be sent as an HttpResponse.</returns>
      <remarks>
            Requires HttpContext.Current.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.WebConsumer.PrepareRequestUserAuthorization(System.Uri,System.Collections.Generic.IDictionary{System.String,System.String},System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Prepares an OAuth message that begins an authorization request that will 
            redirect the user to the Service Provider to provide that authorization.
            </summary>
      <param name="callback">
            An optional Consumer URL that the Service Provider should redirect the 
            User Agent to upon successful authorization.
            </param>
      <param name="requestParameters">Extra parameters to add to the request token message.  Optional.</param>
      <param name="redirectParameters">Extra parameters to add to the redirect to Service Provider message.  Optional.</param>
      <returns>The pending user agent redirect based message to be sent as an HttpResponse.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.WebConsumer.ProcessUserAuthorization">
      <summary>
            Processes an incoming authorization-granted message from an SP and obtains an access token.
            </summary>
      <returns>The access token, or null if no incoming authorization message was recognized.</returns>
      <remarks>
            Requires HttpContext.Current.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.WebConsumer.AttachAuthorizationRequest(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest,System.String)">
      <summary>
            Attaches an OAuth authorization request to an outgoing OpenID authentication request.
            </summary>
      <param name="openIdAuthenticationRequest">The OpenID authentication request.</param>
      <param name="scope">The scope of access that is requested of the service provider.</param>
      <requires exception="T:System.ArgumentNullException">openIdAuthenticationRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">openIdAuthenticationRequest == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.WebConsumer.ProcessUserAuthorization(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Processes an incoming authorization-granted message from an SP and obtains an access token.
            </summary>
      <param name="openIdAuthenticationResponse">The OpenID authentication response that may be carrying an authorized request token.</param>
      <returns>
            The access token, or null if OAuth authorization was denied by the user or service provider.
            </returns>
      <remarks>
            The access token, if granted, is automatically stored in the <see cref="P:DotNetOpenAuth.OAuth.ConsumerBase.TokenManager" />.
            The token manager instance must implement <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.IOpenIdOAuthTokenManager" />.
            </remarks>
      <requires exception="T:System.ArgumentNullException">openIdAuthenticationResponse != null</requires>
      <exception cref="T:System.ArgumentNullException">openIdAuthenticationResponse == null</exception>
      <requires exception="T:System.InvalidOperationException">this.TokenManager is IOpenIdOAuthTokenManager</requires>
      <exception cref="T:System.InvalidOperationException">!(this.TokenManager is IOpenIdOAuthTokenManager)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.WebConsumer.ProcessUserAuthorization(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Processes an incoming authorization-granted message from an SP and obtains an access token.
            </summary>
      <param name="request">The incoming HTTP request.</param>
      <returns>The access token, or null if no incoming authorization message was recognized.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IDirectWebRequestHandler">
      <summary>
            A contract for <see cref="T:System.Net.HttpWebRequest" /> handling.
            </summary>
      <remarks>
            Implementations of this interface must be thread safe.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.CanSupport(DotNetOpenAuth.Messaging.DirectWebRequestOptions)">
      <summary>
            Determines whether this instance can support the specified options.
            </summary>
      <param name="options">The set of options that might be given in a subsequent web request.</param>
      <returns>
        <c>true</c> if this instance can support the specified options; otherwise, <c>false</c>.
            </returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetRequestStream(System.Net.HttpWebRequest)">
      <summary>
            Prepares an <see cref="T:System.Net.HttpWebRequest" /> that contains an POST entity for sending the entity.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> that should contain the entity.</param>
      <returns>
            The stream the caller should write out the entity data to.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>The caller should have set the <see cref="P:System.Net.HttpWebRequest.ContentLength" />
            and any other appropriate properties <i>before</i> calling this method.
            Callers <i>must</i> close and dispose of the request stream when they are done
            writing to it to avoid taking up the connection too long and causing long waits on
            subsequent requests.</para>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetRequestStream(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)">
      <summary>
            Prepares an <see cref="T:System.Net.HttpWebRequest" /> that contains an POST entity for sending the entity.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> that should contain the entity.</param>
      <param name="options">The options to apply to this web request.</param>
      <returns>
            The stream the caller should write out the entity data to.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>The caller should have set the <see cref="P:System.Net.HttpWebRequest.ContentLength" />
            and any other appropriate properties <i>before</i> calling this method.
            Callers <i>must</i> close and dispose of the request stream when they are done
            writing to it to avoid taking up the connection too long and causing long waits on
            subsequent requests.</para>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.NotSupportedException">((IDirectWebRequestHandler)this).CanSupport(options)</requires>
      <exception cref="T:System.NotSupportedException">!(((IDirectWebRequestHandler)this).CanSupport(options))</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest)">
      <summary>
            Processes an <see cref="T:System.Net.HttpWebRequest" /> and converts the 
            <see cref="T:System.Net.HttpWebResponse" /> to a <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> instance.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> to handle.</param>
      <returns>An instance of <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> describing the response.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.  The <see cref="P:System.Net.WebException.Response" />
            value, if set, should be Closed before throwing.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <ensures>Contract.Result&lt;IncomingWebResponse&gt;() != null</ensures>
      <ensures>Contract.Result&lt;IncomingWebResponse&gt;().ResponseStream != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)">
      <summary>
            Processes an <see cref="T:System.Net.HttpWebRequest" /> and converts the 
            <see cref="T:System.Net.HttpWebResponse" /> to a <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> instance.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> to handle.</param>
      <param name="options">The options to apply to this web request.</param>
      <returns>An instance of <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> describing the response.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.  The <see cref="P:System.Net.WebException.Response" />
            value, if set, should be Closed before throwing.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.NotSupportedException">((IDirectWebRequestHandler)this).CanSupport(options)</requires>
      <exception cref="T:System.NotSupportedException">!(((IDirectWebRequestHandler)this).CanSupport(options))</exception>
      <ensures>Contract.Result&lt;IncomingWebResponse&gt;() != null</ensures>
      <ensures>Contract.Result&lt;IncomingWebResponse&gt;().ResponseStream != null</ensures>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IDirectWebRequestHandlerContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.Messaging.IDirectWebRequestHandler" /> type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandlerContract.DotNetOpenAuth#Messaging#IDirectWebRequestHandler#CanSupport(DotNetOpenAuth.Messaging.DirectWebRequestOptions)">
      <summary>
            Determines whether this instance can support the specified options.
            </summary>
      <param name="options">The set of options that might be given in a subsequent web request.</param>
      <returns>
        <c>true</c> if this instance can support the specified options; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandlerContract.DotNetOpenAuth#Messaging#IDirectWebRequestHandler#GetRequestStream(System.Net.HttpWebRequest)">
      <summary>
            Prepares an <see cref="T:System.Net.HttpWebRequest" /> that contains an POST entity for sending the entity.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> that should contain the entity.</param>
      <returns>
            The stream the caller should write out the entity data to.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>The caller should have set the <see cref="P:System.Net.HttpWebRequest.ContentLength" />
            and any other appropriate properties <i>before</i> calling this method.
            Callers <i>must</i> close and dispose of the request stream when they are done
            writing to it to avoid taking up the connection too long and causing long waits on
            subsequent requests.</para>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandlerContract.DotNetOpenAuth#Messaging#IDirectWebRequestHandler#GetRequestStream(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)">
      <summary>
            Prepares an <see cref="T:System.Net.HttpWebRequest" /> that contains an POST entity for sending the entity.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> that should contain the entity.</param>
      <param name="options">The options to apply to this web request.</param>
      <returns>
            The stream the caller should write out the entity data to.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>The caller should have set the <see cref="P:System.Net.HttpWebRequest.ContentLength" />
            and any other appropriate properties <i>before</i> calling this method.
            Callers <i>must</i> close and dispose of the request stream when they are done
            writing to it to avoid taking up the connection too long and causing long waits on
            subsequent requests.</para>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandlerContract.DotNetOpenAuth#Messaging#IDirectWebRequestHandler#GetResponse(System.Net.HttpWebRequest)">
      <summary>
            Processes an <see cref="T:System.Net.HttpWebRequest" /> and converts the
            <see cref="T:System.Net.HttpWebResponse" /> to a <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> instance.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> to handle.</param>
      <returns>
            An instance of <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> describing the response.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
            Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.  The <see cref="P:System.Net.WebException.Response" />
            value, if set, should be Closed before throwing.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandlerContract.DotNetOpenAuth#Messaging#IDirectWebRequestHandler#GetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)">
      <summary>
            Processes an <see cref="T:System.Net.HttpWebRequest" /> and converts the
            <see cref="T:System.Net.HttpWebResponse" /> to a <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> instance.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> to handle.</param>
      <param name="options">The options to apply to this web request.</param>
      <returns>
            An instance of <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> describing the response.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
            Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.  The <see cref="P:System.Net.WebException.Response" />
            value, if set, should be Closed before throwing.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequest">
      <summary>
            A direct message sent by the Consumer to exchange an authorized Request Token
            for an Access Token and Token Secret.
            </summary>
      <remarks>
            The class is sealed because the OAuth spec forbids adding parameters to this message.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequest.#ctor(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequest" /> class.
            </summary>
      <param name="serviceProvider">The URI of the Service Provider endpoint to send this message to.</param>
      <param name="version">The OAuth version.</param>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequest.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequest.DotNetOpenAuth#OAuth#Messages#ITokenContainingMessage#Token">
      <summary>
            Gets or sets the Token.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequest.VerificationCode">
      <summary>
            Gets or sets the verification code received by the Consumer from the Service Provider 
            in the <see cref="P:DotNetOpenAuth.OAuth.Messages.UserAuthorizationResponse.VerificationCode" /> property.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequest.RequestToken">
      <summary>
            Gets or sets the authorized Request Token used to obtain authorization.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement">
      <summary>
            A binding element that checks/verifies a nonce message part.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement.AllowedCharacters">
      <summary>
            These are the characters that may be chosen from when forming a random nonce.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement.nonceStore">
      <summary>
            The persistent store for nonces received.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement.nonceLength">
      <summary>
            The length of generated nonces.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement.#ctor(DotNetOpenAuth.Messaging.Bindings.INonceStore)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement" /> class.
            </summary>
      <param name="nonceStore">The store where nonces will be persisted and checked.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement.#ctor(DotNetOpenAuth.Messaging.Bindings.INonceStore,System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement" /> class.
            </summary>
      <param name="nonceStore">The store where nonces will be persisted and checked.</param>
      <param name="allowEmptyNonces">A value indicating whether zero-length nonces will be allowed.</param>
      <requires exception="T:System.ArgumentNullException">nonceStore != null</requires>
      <exception cref="T:System.ArgumentNullException">nonceStore == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Applies a nonce to the message.
            </summary>
      <param name="message">The message to apply replay protection to.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Verifies that the nonce in an incoming message has not been seen before.
            </summary>
      <param name="message">The incoming message.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.Bindings.ReplayedMessageException">Thrown when the nonce check revealed a replayed message.</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement.GenerateUniqueFragment">
      <summary>
            Generates a string of random characters for use as a nonce.
            </summary>
      <returns>The nonce string.</returns>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement.Protection">
      <summary>
            Gets the protection that this binding element provides messages.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement.NonceStrength">
      <summary>
            Gets or sets the strength of the nonce, which is measured by the number of
            nonces that could theoretically be generated.
            </summary>
      <remarks>
            The strength of the nonce is equal to the number of characters that might appear
            in the nonce to the power of the length of the nonce.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement.AllowZeroLengthNonce">
      <summary>
            Gets or sets a value indicating whether empty nonces are allowed.
            </summary>
      <value>Default is <c>false</c>.</value>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.MessagePartAttribute">
      <summary>
            Applied to fields and properties that form a key/value in a protocol message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessagePartAttribute.name">
      <summary>
            The overridden name to use as the serialized name for the property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagePartAttribute.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.MessagePartAttribute" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagePartAttribute.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.MessagePartAttribute" /> class.
            </summary>
      <param name="name">
            A special name to give the value of this member in the serialized message.
            When null or empty, the name of the member will be used in the serialized message.
            </param>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagePartAttribute.Name">
      <summary>
            Gets the name of the serialized form of this member in the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection">
      <summary>
            Gets or sets the level of protection required by this member in the serialized message.
            </summary>
      <remarks>
            Message part protection must be provided and verified by the channel binding element(s)
            that provide security.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagePartAttribute.IsRequired">
      <summary>
            Gets or sets a value indicating whether this member is a required part of the serialized message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagePartAttribute.AllowEmpty">
      <summary>
            Gets or sets a value indicating whether the string value is allowed to be empty in the serialized message.
            </summary>
      <value>Default is true.</value>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagePartAttribute.Encoder">
      <summary>
            Gets or sets an IMessagePartEncoder custom encoder to use
            to translate the applied member to and from a string.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagePartAttribute.MinVersion">
      <summary>
            Gets or sets the minimum version of the protocol this attribute applies to
            and overrides any attributes with lower values for this property.
            </summary>
      <value>Defaults to 0.0.</value>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagePartAttribute.MaxVersion">
      <summary>
            Gets or sets the maximum version of the protocol this attribute applies to.
            </summary>
      <value>Defaults to int.MaxValue for the major version number.</value>
      <remarks>
            Specifying <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.MinVersion" /> on another attribute on the same member
            automatically turns this attribute off.  This property should only be set when
            a property is totally dropped from a newer version of the protocol.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagePartAttribute.MinVersionValue">
      <summary>
            Gets or sets the minimum version of the protocol this attribute applies to
            and overrides any attributes with lower values for this property.
            </summary>
      <value>Defaults to 0.0.</value>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagePartAttribute.MaxVersionValue">
      <summary>
            Gets or sets the maximum version of the protocol this attribute applies to.
            </summary>
      <value>Defaults to int.MaxValue for the major version number.</value>
      <remarks>
            Specifying <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.MinVersion" /> on another attribute on the same member
            automatically turns this attribute off.  This property should only be set when
            a property is totally dropped from a newer version of the protocol.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.MessageProtections">
      <summary>
            Categorizes the various types of channel binding elements so they can be properly ordered.
            </summary>
      <remarks>
            The order of these enum values is significant.  
            Each successive value requires the protection offered by all the previous values
            in order to be reliable.  For example, message expiration is meaningless without
            tamper protection to prevent a user from changing the timestamp on a message.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessageProtections.None">
      <summary>
            No protection.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessageProtections.TamperProtection">
      <summary>
            A binding element that signs a message before sending and validates its signature upon receiving.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessageProtections.Expiration">
      <summary>
            A binding element that enforces a maximum message age between sending and processing on the receiving side.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessageProtections.ReplayProtection">
      <summary>
            A binding element that prepares messages for replay detection and detects replayed messages on the receiving side.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessageProtections.All">
      <summary>
            All forms of protection together.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IChannelBindingElementContract">
      <summary>
            Code Contract for the <see cref="T:DotNetOpenAuth.Messaging.IChannelBindingElement" /> interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IChannelBindingElementContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.Messaging.IChannelBindingElementContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IChannelBindingElementContract.DotNetOpenAuth#Messaging#IChannelBindingElement#ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IChannelBindingElementContract.DotNetOpenAuth#Messaging#IChannelBindingElement#ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IChannelBindingElementContract.DotNetOpenAuth#Messaging#IChannelBindingElement#Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
      <value />
      <remarks>
            This property is set by the channel when it is first constructed.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.IChannelBindingElementContract.DotNetOpenAuth#Messaging#IChannelBindingElement#Protection">
      <summary>
            Gets the protection commonly offered (if any) by this binding element.
            </summary>
      <value />
      <remarks>
            This value is used to assist in sorting binding elements in the channel stack.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Bindings.ReplayedMessageException">
      <summary>
            An exception thrown when a message is received for the second time, signalling a possible
            replay attack.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.ReplayedMessageException.#ctor(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Bindings.ReplayedMessageException" /> class.
            </summary>
      <param name="faultedMessage">The replayed message.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.ReplayedMessageException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Bindings.ReplayedMessageException" /> class.
            </summary>
      <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> 
            that holds the serialized object data about the exception being thrown.</param>
      <param name="context">The System.Runtime.Serialization.StreamingContext 
            that contains contextual information about the source or destination.</param>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Bindings.ExpiredMessageException">
      <summary>
            An exception thrown when a message is received that exceeds the maximum message age limit.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.ExpiredMessageException.#ctor(System.DateTime,DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Bindings.ExpiredMessageException" /> class.
            </summary>
      <param name="utcExpirationDate">The date the message expired.</param>
      <param name="faultedMessage">The expired message.</param>
      <requires exception="T:System.ArgumentException">utcExpirationDate.Kind == DateTimeKind.Utc</requires>
      <exception cref="T:System.ArgumentException">utcExpirationDate.Kind != DateTimeKind.Utc</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.ExpiredMessageException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Bindings.ExpiredMessageException" /> class.
            </summary>
      <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> 
            that holds the serialized object data about the exception being thrown.</param>
      <param name="context">The System.Runtime.Serialization.StreamingContext 
            that contains contextual information about the source or destination.</param>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Bindings.InvalidSignatureException">
      <summary>
            An exception thrown when a signed message does not pass signature validation.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.InvalidSignatureException.#ctor(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Bindings.InvalidSignatureException" /> class.
            </summary>
      <param name="faultedMessage">The message with the invalid signature.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.InvalidSignatureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Bindings.InvalidSignatureException" /> class.
            </summary>
      <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> 
            that holds the serialized object data about the exception being thrown.</param>
      <param name="context">The System.Runtime.Serialization.StreamingContext 
            that contains contextual information about the source or destination.</param>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.Messages.AccessProtectedResourceRequest">
      <summary>
            A message attached to a request for protected resources that provides the necessary
            credentials to be granted access to those resources.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Messages.AccessProtectedResourceRequest.binaryData">
      <summary>
            A store for the binary data that is carried in the message.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.AccessProtectedResourceRequest.#ctor(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Messages.AccessProtectedResourceRequest" /> class.
            </summary>
      <param name="serviceProvider">The URI of the Service Provider endpoint to send this message to.</param>
      <param name="version">The OAuth version.</param>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.AccessProtectedResourceRequest.DotNetOpenAuth#OAuth#Messages#ITokenContainingMessage#Token">
      <summary>
            Gets or sets the Token.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.AccessProtectedResourceRequest.AccessToken">
      <summary>
            Gets or sets the Access Token.
            </summary>
      <remarks>
            In addition to just allowing OAuth to verify a valid message,
            this property is useful on the Service Provider to verify that the access token
            has proper authorization for the resource being requested, and to know the
            context around which user provided the authorization.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.AccessProtectedResourceRequest.BinaryData">
      <summary>
            Gets the parts of the message that carry binary data.
            </summary>
      <value>A list of parts.  Never null.</value>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageWithBinaryData.get_BinaryData" inheritedFromTypeName="IMessageWithBinaryData">Contract.Result&lt;IList&lt;MultipartPostPart&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.AccessProtectedResourceRequest.SendAsMultipart">
      <summary>
            Gets a value indicating whether this message should be sent as multi-part POST.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenResponse">
      <summary>
            A direct message sent from Service Provider to Consumer in response to 
            a Consumer's <see cref="T:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequest" /> request.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenResponse.#ctor(DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenResponse" /> class.
            </summary>
      <param name="originatingRequest">The originating request.</param>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenResponse.AccessToken">
      <summary>
            Gets or sets the Access Token assigned by the Service Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenResponse.DotNetOpenAuth#OAuth#Messages#ITokenContainingMessage#Token">
      <summary>
            Gets or sets the Request or Access Token.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenResponse.DotNetOpenAuth#OAuth#Messages#ITokenSecretContainingMessage#TokenSecret">
      <summary>
            Gets or sets the Request or Access Token secret.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenResponse.ExtraData">
      <summary>
            Gets the extra, non-OAuth parameters that will be included in the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.AuthorizedTokenResponse.TokenSecret">
      <summary>
            Gets or sets the Token Secret.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.Messages.UserAuthorizationResponse">
      <summary>
            A message used to redirect the user from a Service Provider to a Consumer's web site.
            </summary>
      <remarks>
            The class is sealed because extra parameters are determined by the callback URI provided by the Consumer.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.UserAuthorizationResponse.#ctor(System.Uri,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Messages.UserAuthorizationResponse" /> class.
            </summary>
      <param name="consumer">The URI of the Consumer endpoint to send this message to.</param>
      <param name="version">The OAuth version.</param>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UserAuthorizationResponse.DotNetOpenAuth#OAuth#Messages#ITokenContainingMessage#Token">
      <summary>
            Gets or sets the Request or Access Token.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UserAuthorizationResponse.VerificationCode">
      <summary>
            Gets or sets the verification code that must accompany the request to exchange the
            authorized request token for an access token.
            </summary>
      <value>An unguessable value passed to the Consumer via the User and REQUIRED to complete the process.</value>
      <remarks>
            If the Consumer did not provide a callback URL, the Service Provider SHOULD display the value of the 
            verification code, and instruct the User to manually inform the Consumer that authorization is 
            completed. If the Service Provider knows a Consumer to be running on a mobile device or set-top box, 
            the Service Provider SHOULD ensure that the verifier value is suitable for manual entry.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UserAuthorizationResponse.RequestToken">
      <summary>
            Gets or sets the Request Token.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest">
      <summary>
            A message used to redirect the user from a Consumer to a Service Provider's web site
            so the Service Provider can ask the user to authorize the Consumer's access to some
            protected resource(s).
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest.#ctor(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.String,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest" /> class.
            </summary>
      <param name="serviceProvider">The URI of the Service Provider endpoint to send this message to.</param>
      <param name="requestToken">The request token.</param>
      <param name="version">The OAuth version.</param>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest.#ctor(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest" /> class.
            </summary>
      <param name="serviceProvider">The URI of the Service Provider endpoint to send this message to.</param>
      <param name="version">The OAuth version.</param>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest.DotNetOpenAuth#OAuth#Messages#ITokenContainingMessage#Token">
      <summary>
            Gets or sets the Request or Access Token.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest.ExtraData">
      <summary>
            Gets the extra, non-OAuth parameters that will be included in the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest.IsUnsafeRequest">
      <summary>
            Gets a value indicating whether this is a safe OAuth authorization request.
            </summary>
      <value>
        <c>true</c> if the Consumer is using OAuth 1.0a or later; otherwise, <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest.RequestToken">
      <summary>
            Gets or sets the Request Token obtained in the previous step.
            </summary>
      <remarks>
            The Service Provider MAY declare this parameter as REQUIRED, or 
            accept requests to the User Authorization URL without it, in which 
            case it will prompt the User to enter it manually.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest.Callback">
      <summary>
            Gets or sets a URL the Service Provider will use to redirect the User back 
            to the Consumer when Obtaining User Authorization is complete. Optional.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenResponse">
      <summary>
            A direct message sent from Service Provider to Consumer in response to 
            a Consumer's <see cref="T:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest" /> request.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenResponse.#ctor(DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest,System.String,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenResponse" /> class.
            </summary>
      <param name="requestMessage">The unauthorized request token message that this message is being generated in response to.</param>
      <param name="requestToken">The request token.</param>
      <param name="tokenSecret">The token secret.</param>
      <remarks>
            This constructor is used by the Service Provider to send the message.
            </remarks>
      <requires exception="T:System.ArgumentNullException">requestToken != null</requires>
      <exception cref="T:System.ArgumentNullException">requestToken == null</exception>
      <requires exception="T:System.ArgumentNullException">tokenSecret != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenSecret == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenResponse.#ctor(DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenResponse" /> class.
            </summary>
      <param name="originatingRequest">The originating request.</param>
      <param name="version">The OAuth version.</param>
      <remarks>This constructor is used by the consumer to deserialize the message.</remarks>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenResponse.DotNetOpenAuth#OAuth#Messages#ITokenContainingMessage#Token">
      <summary>
            Gets or sets the Request or Access Token.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenResponse.DotNetOpenAuth#OAuth#Messages#ITokenSecretContainingMessage#TokenSecret">
      <summary>
            Gets or sets the Request or Access Token secret.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenResponse.ExtraData">
      <summary>
            Gets the extra, non-OAuth parameters that will be included in the message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenResponse.RequestToken">
      <summary>
            Gets or sets the Request Token.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenResponse.RequestMessage">
      <summary>
            Gets the original request for an unauthorized token.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenResponse.TokenSecret">
      <summary>
            Gets or sets the Token Secret.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenResponse.CallbackConfirmed">
      <summary>
            Gets a value indicating whether the Service Provider recognized the callback parameter in the request.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.HttpRequestInfo">
      <summary>
            A property store of details of an incoming HTTP request.
            </summary>
      <remarks>
            This serves a very similar purpose to <see cref="T:System.Web.HttpRequest" />, except that
            ASP.NET does not let us fully initialize that class, so we have to write one
            of our one.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.HttpRequestInfo.form">
      <summary>
            The key/value pairs found in the entity of a POST request.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.HttpRequestInfo.queryString">
      <summary>
            The key/value pairs found in the querystring of the incoming request.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.HttpRequestInfo.queryStringBeforeRewriting">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Messaging.HttpRequestInfo.QueryStringBeforeRewriting" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.HttpRequestInfo.message">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Messaging.HttpRequestInfo.Message" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.#ctor(System.Web.HttpRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.HttpRequestInfo" /> class.
            </summary>
      <param name="request">The ASP.NET structure to copy from.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <ensures>this.HttpMethod == request.HttpMethod</ensures>
      <ensures>this.Url == request.Url</ensures>
      <ensures>this.RawUrl == request.RawUrl</ensures>
      <ensures>this.UrlBeforeRewriting != null</ensures>
      <ensures>this.Headers != null</ensures>
      <ensures>this.InputStream == request.InputStream</ensures>
      <ensures>this.form == request.Form</ensures>
      <ensures>this.queryString == request.QueryString</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.#ctor(System.String,System.Uri,System.String,System.Net.WebHeaderCollection,System.IO.Stream)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.HttpRequestInfo" /> class.
            </summary>
      <param name="httpMethod">The HTTP method (i.e. GET or POST) of the incoming request.</param>
      <param name="requestUrl">The URL being requested.</param>
      <param name="rawUrl">The raw URL that appears immediately following the HTTP verb in the request,
            before any URL rewriting takes place.</param>
      <param name="headers">Headers in the HTTP request.</param>
      <param name="inputStream">The entity stream, if any.  (POST requests typically have these).  Use <c>null</c> for GET requests.</param>
      <requires exception="T:System.ArgumentNullException">!string.IsNullOrEmpty(httpMethod)</requires>
      <exception cref="T:System.ArgumentNullException">string.IsNullOrEmpty(httpMethod)</exception>
      <requires exception="T:System.ArgumentNullException">requestUrl != null</requires>
      <exception cref="T:System.ArgumentNullException">requestUrl == null</exception>
      <requires exception="T:System.ArgumentNullException">rawUrl != null</requires>
      <exception cref="T:System.ArgumentNullException">rawUrl == null</exception>
      <requires exception="T:System.ArgumentNullException">headers != null</requires>
      <exception cref="T:System.ArgumentNullException">headers == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.#ctor(System.Net.HttpListenerRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.HttpRequestInfo" /> class.
            </summary>
      <param name="listenerRequest">Details on the incoming HTTP request.</param>
      <requires exception="T:System.ArgumentNullException">listenerRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">listenerRequest == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.#ctor(System.ServiceModel.Channels.HttpRequestMessageProperty,System.Uri)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.HttpRequestInfo" /> class.
            </summary>
      <param name="request">The WCF incoming request structure to get the HTTP information from.</param>
      <param name="requestUri">The URI of the service endpoint.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentNullException">requestUri != null</requires>
      <exception cref="T:System.ArgumentNullException">requestUri == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.HttpRequestInfo" /> class.
            </summary>
      <ensures>this.HttpMethod == "GET"</ensures>
      <ensures>this.Headers != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.#ctor(System.Net.WebRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.HttpRequestInfo" /> class.
            </summary>
      <param name="request">The HttpWebRequest (that was never used) to copy from.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.#ctor(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,DotNetOpenAuth.Messaging.HttpDeliveryMethods)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.HttpRequestInfo" /> class.
            </summary>
      <param name="message">The message being passed in through a mock transport.  May be null.</param>
      <param name="httpMethod">The HTTP method that the incoming request came in on, whether or not <paramref name="message" /> is null.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.GetPublicFacingUrl(System.Web.HttpRequest,System.Collections.Specialized.NameValueCollection)">
      <summary>
            Gets the public facing URL for the given incoming HTTP request.
            </summary>
      <param name="request">The request.</param>
      <param name="serverVariables">The server variables to consider part of the request.</param>
      <returns>
            The URI that the outside world used to create this request.
            </returns>
      <remarks>
            Although the <paramref name="serverVariables" /> value can be obtained from
            <see cref="P:System.Web.HttpRequest.ServerVariables" />, it's useful to be able to pass them
            in so we can simulate injected values from our unit tests since the actual property
            is a read-only kind of <see cref="T:System.Collections.Specialized.NameValueCollection" />.
            </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentNullException">serverVariables != null</requires>
      <exception cref="T:System.ArgumentNullException">serverVariables == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.GetQueryOrFormFromContext">
      <summary>
            Gets the query or form data from the original request (before any URL rewriting has occurred.)
            </summary>
      <returns>A set of name=value pairs.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.GetPublicFacingUrl(System.Web.HttpRequest)">
      <summary>
            Gets the public facing URL for the given incoming HTTP request.
            </summary>
      <param name="request">The request.</param>
      <returns>The URI that the outside world used to create this request.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.MakeUpRawUrlFromUrl(System.Uri)">
      <summary>
            Makes up a reasonable guess at the raw URL from the possibly rewritten URL.
            </summary>
      <param name="url">A full URL.</param>
      <returns>A raw URL that might have come in on the HTTP verb.</returns>
      <requires exception="T:System.ArgumentNullException">url != null</requires>
      <exception cref="T:System.ArgumentNullException">url == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.GetHeaderCollection(System.Collections.Specialized.NameValueCollection)">
      <summary>
            Converts a NameValueCollection to a WebHeaderCollection.
            </summary>
      <param name="pairs">The collection a HTTP headers.</param>
      <returns>A new collection of the given headers.</returns>
      <requires exception="T:System.ArgumentNullException">pairs != null</requires>
      <exception cref="T:System.ArgumentNullException">pairs == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.HttpRequestInfo.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.HttpRequestInfo.Message">
      <summary>
            Gets or sets the message that is being sent over a mock transport (for testing).
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.HttpRequestInfo.HttpMethod">
      <summary>
            Gets or sets the verb in the request (i.e. GET, POST, etc.)
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.HttpRequestInfo.Url">
      <summary>
            Gets or sets the entire URL of the request, after any URL rewriting.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.HttpRequestInfo.RawUrl">
      <summary>
            Gets or sets the raw URL that appears immediately following the HTTP verb in the request,
            before any URL rewriting takes place.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.HttpRequestInfo.UrlBeforeRewriting">
      <summary>
            Gets or sets the full public URL used by the remote client to initiate this request,
            before any URL rewriting and before any changes made by web farm load distributors.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.HttpRequestInfo.Query">
      <summary>
            Gets the query part of the URL (The ? and everything after it), after URL rewriting.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.HttpRequestInfo.Headers">
      <summary>
            Gets or sets the collection of headers that came in with the request.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.HttpRequestInfo.InputStream">
      <summary>
            Gets or sets the entity, or body of the request, if any.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.HttpRequestInfo.Form">
      <summary>
            Gets the key/value pairs found in the entity of a POST request.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;NameValueCollection&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.HttpRequestInfo.QueryString">
      <summary>
            Gets the key/value pairs found in the querystring of the incoming request.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.HttpRequestInfo.QueryStringBeforeRewriting">
      <summary>
            Gets the query data from the original request (before any URL rewriting has occurred.)
            </summary>
      <returns>A <see cref="T:System.Collections.Specialized.NameValueCollection" /> containing all the parameters in the query string.</returns>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.HttpRequestInfo.IsUrlRewritten">
      <summary>
            Gets a value indicating whether the request's URL was rewritten by ASP.NET
            or some other module.
            </summary>
      <value>
        <c>true</c> if this request's URL was rewritten; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.IMessageFactoryContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.Messaging.IMessageFactory" /> interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IMessageFactoryContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.Messaging.IMessageFactoryContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IMessageFactoryContract.DotNetOpenAuth#Messaging#IMessageFactory#GetNewRequestMessage(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Analyzes an incoming request message payload to discover what kind of
            message is embedded in it and returns the type, or null if no match is found.
            </summary>
      <param name="recipient">The intended or actual recipient of the request message.</param>
      <param name="fields">The name/value pairs that make up the message payload.</param>
      <returns>
            A newly instantiated <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessage" />-derived object that this message can
            deserialize to.  Null if the request isn't recognized as a valid protocol message.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.IMessageFactoryContract.DotNetOpenAuth#Messaging#IMessageFactory#GetNewResponseMessage(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Analyzes an incoming request message payload to discover what kind of
            message is embedded in it and returns the type, or null if no match is found.
            </summary>
      <param name="request">The message that was sent as a request that resulted in the response.</param>
      <param name="fields">The name/value pairs that make up the message payload.</param>
      <returns>
            A newly instantiated <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessage" />-derived object that this message can
            deserialize to.  Null if the request isn't recognized as a valid protocol message.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.MessageSerializer">
      <summary>
            Serializes/deserializes OAuth messages for/from transit.
            </summary>
      <invariant>this.messageType != null</invariant>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessageSerializer.messageType">
      <summary>
            The specific <see cref="T:DotNetOpenAuth.Messaging.IMessage" />-derived type
            that will be serialized and deserialized using this class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessageSerializer.#ctor(System.Type)">
      <summary>
            Initializes a new instance of the MessageSerializer class.
            </summary>
      <param name="messageType">The specific <see cref="T:DotNetOpenAuth.Messaging.IMessage" />-derived type
            that will be serialized and deserialized using this class.</param>
      <requires exception="T:System.ArgumentNullException">messageType != null</requires>
      <exception cref="T:System.ArgumentNullException">messageType == null</exception>
      <requires exception="T:System.ArgumentException">typeof(IMessage).IsAssignableFrom(messageType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IMessage).IsAssignableFrom(messageType))</exception>
      <ensures>this.messageType != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessageSerializer.Get(System.Type)">
      <summary>
            Creates or reuses a message serializer for a given message type.
            </summary>
      <param name="messageType">The type of message that will be serialized/deserialized.</param>
      <returns>A message serializer for the given message type.</returns>
      <requires exception="T:System.ArgumentNullException">messageType != null</requires>
      <exception cref="T:System.ArgumentNullException">messageType == null</exception>
      <requires exception="T:System.ArgumentException">typeof(IMessage).IsAssignableFrom(messageType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IMessage).IsAssignableFrom(messageType))</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessageSerializer.Serialize(DotNetOpenAuth.Messaging.Reflection.MessageDictionary)">
      <summary>
            Reads the data from a message instance and returns a series of name=value pairs for the fields that must be included in the message.
            </summary>
      <param name="messageDictionary">The message to be serialized.</param>
      <returns>The dictionary of values to send for the message.</returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">messageDictionary != null</requires>
      <exception cref="T:System.ArgumentNullException">messageDictionary == null</exception>
      <ensures>Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessageSerializer.Deserialize(System.Collections.Generic.IDictionary{System.String,System.String},DotNetOpenAuth.Messaging.Reflection.MessageDictionary)">
      <summary>
            Reads name=value pairs into a message.
            </summary>
      <param name="fields">The name=value pairs that were read in from the transport.</param>
      <param name="messageDictionary">The message to deserialize into.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown when protocol rules are broken by the incoming message.</exception>
      <requires exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
      <requires exception="T:System.ArgumentNullException">messageDictionary != null</requires>
      <exception cref="T:System.ArgumentNullException">messageDictionary == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessageSerializer.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.MessagingStrings">
      <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.ResourceManager">
      <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.Culture">
      <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.ArgumentPropertyMissing">
      <summary>
              Looks up a localized string similar to Argument's {0}.{1} property is required but is empty or null..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.BinaryDataRequiresMultipart">
      <summary>
              Looks up a localized string similar to Unable to send all message data because some of it requires multi-part POST, but IMessageWithBinaryData.SendAsMultipart was false..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.CurrentHttpContextRequired">
      <summary>
              Looks up a localized string similar to HttpContext.Current is null.  There must be an ASP.NET request in process for this operation to succeed..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.DataContractMissingFromMessageType">
      <summary>
              Looks up a localized string similar to DataContractSerializer could not be initialized on message type {0}.  Is it missing a [DataContract] attribute?.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.DataContractMissingNamespace">
      <summary>
              Looks up a localized string similar to DataContractSerializer could not be initialized on message type {0} because the DataContractAttribute.Namespace property is not set..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.DerivedTypeNotExpected">
      <summary>
              Looks up a localized string similar to An instance of type {0} was expected, but received unexpected derived type {1}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.DirectedMessageMissingRecipient">
      <summary>
              Looks up a localized string similar to The directed message's Recipient property must not be null..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.DirectWebRequestOptionsNotSupported">
      <summary>
              Looks up a localized string similar to The given set of options is not supported by this web request handler..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.ErrorDeserializingMessage">
      <summary>
              Looks up a localized string similar to Error while deserializing message {0}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.ErrorInRequestReplyMessage">
      <summary>
              Looks up a localized string similar to Error occurred while sending a direct message or getting the response..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.ExceptionNotConstructedForTransit">
      <summary>
              Looks up a localized string similar to This exception was not constructed with a root request message that caused it..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.ExceptionUndeliverable">
      <summary>
              Looks up a localized string similar to This exception must be instantiated with a recipient that will receive the error message, or a direct request message instance that this exception will respond to..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.ExpectedMessageNotReceived">
      <summary>
              Looks up a localized string similar to Expected {0} message but received no recognizable message..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.ExpiredMessage">
      <summary>
              Looks up a localized string similar to The message expired at {0} and it is now {1}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.ExtraParameterAddFailure">
      <summary>
              Looks up a localized string similar to Failed to add extra parameter '{0}' with value '{1}'..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.GetOrPostFlagsRequired">
      <summary>
              Looks up a localized string similar to At least one of GET or POST flags must be present..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.HttpContextRequired">
      <summary>
              Looks up a localized string similar to This method requires a current HttpContext.  Alternatively, use an overload of this method that allows you to pass in information without an HttpContext..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.IndirectMessagesMustImplementIDirectedProtocolMessage">
      <summary>
              Looks up a localized string similar to Messages that indicate indirect transport must implement the {0} interface..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.InsecureWebRequestWithSslRequired">
      <summary>
              Looks up a localized string similar to Insecure web request for '{0}' aborted due to security requirements demanding HTTPS..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.InsufficientMessageProtection">
      <summary>
              Looks up a localized string similar to The {0} message required protections {{{1}}} but the channel could only apply {{{2}}}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.InvalidCustomBindingElementOrder">
      <summary>
              Looks up a localized string similar to The customized binding element ordering is invalid..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.InvalidMessageParts">
      <summary>
              Looks up a localized string similar to Some part(s) of the message have invalid values: {0}.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.InvalidNonceReceived">
      <summary>
              Looks up a localized string similar to The incoming message had an invalid or missing nonce..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.KeyAlreadyExists">
      <summary>
              Looks up a localized string similar to An item with the same key has already been added..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.MessageNotExtensible">
      <summary>
              Looks up a localized string similar to The {0} message does not support extensions..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.MessagePartEncoderWrongType">
      <summary>
              Looks up a localized string similar to The value for {0}.{1} on member {1} was expected to derive from {2} but was {3}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.MessagePartReadFailure">
      <summary>
              Looks up a localized string similar to Error while reading message '{0}' parameter '{1}' with value '{2}'..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.MessagePartValueBase64DecodingFault">
      <summary>
              Looks up a localized string similar to Message parameter '{0}' with value '{1}' failed to base64 decode..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.MessagePartWriteFailure">
      <summary>
              Looks up a localized string similar to Error while preparing message '{0}' parameter '{1}' for sending..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.MessageTimestampInFuture">
      <summary>
              Looks up a localized string similar to This message has a timestamp of {0}, which is beyond the allowable clock skew for in the future..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.NonEmptyStringExpected">
      <summary>
              Looks up a localized string similar to A non-empty string was expected..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.QueuedMessageResponseAlreadyExists">
      <summary>
              Looks up a localized string similar to A message response is already queued for sending in the response stream..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.ReplayAttackDetected">
      <summary>
              Looks up a localized string similar to This message has already been processed.  This could indicate a replay attack in progress..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.ReplayProtectionNotSupported">
      <summary>
              Looks up a localized string similar to This channel does not support replay protection..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.RequiredNonEmptyParameterWasEmpty">
      <summary>
              Looks up a localized string similar to The following required non-empty parameters were empty in the {0} message: {1}.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.RequiredParametersMissing">
      <summary>
              Looks up a localized string similar to The following required parameters were missing from the {0} message: {1}.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.RequiredProtectionMissing">
      <summary>
              Looks up a localized string similar to The binding element offering the {0} protection requires other protection that is not provided..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.SequenceContainsNoElements">
      <summary>
              Looks up a localized string similar to The list is empty..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.SequenceContainsNullElement">
      <summary>
              Looks up a localized string similar to The list contains a null element..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.SessionRequired">
      <summary>
              Looks up a localized string similar to An HttpContext.Current.Session object is required..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.SignatureInvalid">
      <summary>
              Looks up a localized string similar to Message signature was incorrect..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.SigningNotSupported">
      <summary>
              Looks up a localized string similar to This channel does not support signing messages.  To support signing messages, a derived Channel type must override the Sign and IsSignatureValid methods..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.StreamMustHaveKnownLength">
      <summary>
              Looks up a localized string similar to The stream must have a known length..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.StreamUnreadable">
      <summary>
              Looks up a localized string similar to The stream's CanRead property returned false..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.StreamUnwritable">
      <summary>
              Looks up a localized string similar to The stream's CanWrite property returned false..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.TooManyBindingsOfferingSameProtection">
      <summary>
              Looks up a localized string similar to Expected at most 1 binding element to apply the {0} protection, but more than one applied..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.TooManyRedirects">
      <summary>
              Looks up a localized string similar to The maximum allowable number of redirects were exceeded while requesting '{0}'..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnexpectedEmptyArray">
      <summary>
              Looks up a localized string similar to The array must not be empty..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnexpectedEmptyString">
      <summary>
              Looks up a localized string similar to The empty string is not allowed..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnexpectedHttpStatusCode">
      <summary>
              Looks up a localized string similar to Expected direct response to use HTTP status code {0} but was {1} instead..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnexpectedMessagePartValue">
      <summary>
              Looks up a localized string similar to Message parameter '{0}' had unexpected value '{1}'..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnexpectedMessagePartValueForConstant">
      <summary>
              Looks up a localized string similar to Expected message {0} parameter '{1}' to have value '{2}' but had '{3}' instead..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnexpectedMessageReceived">
      <summary>
              Looks up a localized string similar to Expected message {0} but received {1} instead..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnexpectedMessageReceivedOfMany">
      <summary>
              Looks up a localized string similar to Unexpected message type received..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnexpectedNullKey">
      <summary>
              Looks up a localized string similar to A null key was included and is not allowed..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnexpectedNullOrEmptyKey">
      <summary>
              Looks up a localized string similar to A null or empty key was included and is not allowed..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnexpectedNullValue">
      <summary>
              Looks up a localized string similar to A null value was included for key '{0}' and is not allowed..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnexpectedType">
      <summary>
              Looks up a localized string similar to The type {0} or a derived type was expected, but {1} was given..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnrecognizedEnumValue">
      <summary>
              Looks up a localized string similar to {0} property has unrecognized value {1}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnsafeWebRequestDetected">
      <summary>
              Looks up a localized string similar to The URL '{0}' is rated unsafe and cannot be requested this way..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnsupportedHttpVerb">
      <summary>
              Looks up a localized string similar to The HTTP verb '{0}' is unrecognized and unsupported..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UnsupportedHttpVerbForMessageType">
      <summary>
              Looks up a localized string similar to '{0}' messages cannot be received with HTTP verb '{1}'..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.UntrustedRedirectsOnPOSTNotSupported">
      <summary>
              Looks up a localized string similar to Redirects on POST requests that are to untrusted servers is not supported..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessagingStrings.WebRequestFailed">
      <summary>
              Looks up a localized string similar to Web request to '{0}' failed..
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.MessagingUtilities">
      <summary>
            A grab-bag of utility methods useful for the channel stack of the protocol.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessagingUtilities.UppercaseLetters">
      <summary>
            The uppercase alphabet.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessagingUtilities.LowercaseLetters">
      <summary>
            The lowercase alphabet.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessagingUtilities.Digits">
      <summary>
            The set of base 10 digits.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessagingUtilities.AlphaNumericNoLookAlikes">
      <summary>
            The set of digits, and alphabetic letters (upper and lowercase) that are clearly
            visually distinguishable.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessagingUtilities.CryptoRandomDataGenerator">
      <summary>
            The cryptographically strong random data generator used for creating secrets.
            </summary>
      <remarks>The random number generator is thread-safe.</remarks>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessagingUtilities.NonCryptoRandomDataGenerator">
      <summary>
            A pseudo-random data generator (NOT cryptographically strong random data)
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessagingUtilities.UriRfc3986CharsToEscape">
      <summary>
            The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessagingUtilities.javascriptStaticStringEscaping">
      <summary>
            A set of escaping mappings that help secure a string from javscript execution.
            </summary>
      <remarks>
            The characters to escape here are inspired by 
            http://code.google.com/p/doctype/wiki/ArticleXSSInJavaScript
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.AsActionResult(DotNetOpenAuth.Messaging.OutgoingWebResponse)">
      <summary>
            Transforms an OutgoingWebResponse to an MVC-friendly ActionResult.
            </summary>
      <param name="response">The response to send to the user agent.</param>
      <returns>The <see cref="T:System.Web.Mvc.ActionResult" /> instance to be returned by the Controller's action method.</returns>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.GetRequestUrlFromContext">
      <summary>
            Gets the original request URL, as seen from the browser before any URL rewrites on the server if any.
            Cookieless session directory (if applicable) is also included.
            </summary>
      <returns>The URL in the user agent's Location bar.</returns>
      <requires exception="T:System.InvalidOperationException">HttpContext.Current != null &amp;&amp; HttpContext.Current.Request != null</requires>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null || HttpContext.Current.Request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.StripQueryArgumentsWithPrefix(System.Uri,System.String)">
      <summary>
            Strips any and all URI query parameters that start with some prefix.
            </summary>
      <param name="uri">The URI that may have a query with parameters to remove.</param>
      <param name="prefix">The prefix for parameters to remove.  A period is NOT automatically appended.</param>
      <returns>Either a new Uri with the parameters removed if there were any to remove, or the same Uri instance if no parameters needed to be removed.</returns>
      <requires exception="T:System.ArgumentNullException">uri != null</requires>
      <exception cref="T:System.ArgumentNullException">uri == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(prefix)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(prefix)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.PostMultipart(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Collections.Generic.IEnumerable{DotNetOpenAuth.Messaging.MultipartPostPart})">
      <summary>
            Sends a multipart HTTP POST request (useful for posting files).
            </summary>
      <param name="request">The HTTP request.</param>
      <param name="requestHandler">The request handler.</param>
      <param name="parts">The parts to include in the POST entity.</param>
      <returns>The HTTP response.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
      <requires exception="T:System.ArgumentNullException">parts != null</requires>
      <exception cref="T:System.ArgumentNullException">parts == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.ToStringDescriptive(System.Exception)">
      <summary>
            Assembles a message comprised of the message on a given exception and all inner exceptions.
            </summary>
      <param name="exception">The exception.</param>
      <returns>The assembled message.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.Flatten``1(System.Collections.Generic.IEnumerable{System.Collections.Generic.IEnumerable{``0}})">
      <summary>
            Flattens the specified sequence of sequences.
            </summary>
      <typeparam name="T">The type of element contained in the sequence.</typeparam>
      <param name="sequence">The sequence of sequences to flatten.</param>
      <returns>A sequence of the contained items.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.PostMultipartNoGetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Collections.Generic.IEnumerable{DotNetOpenAuth.Messaging.MultipartPostPart})">
      <summary>
            Sends a multipart HTTP POST request (useful for posting files) but doesn't call GetResponse on it.
            </summary>
      <param name="request">The HTTP request.</param>
      <param name="requestHandler">The request handler.</param>
      <param name="parts">The parts to include in the POST entity.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
      <requires exception="T:System.ArgumentNullException">parts != null</requires>
      <exception cref="T:System.ArgumentNullException">parts == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.GetNonCryptoRandomData(System.Int32)">
      <summary>
            Gets a buffer of random data (not cryptographically strong).
            </summary>
      <param name="length">The length of the sequence to generate.</param>
      <returns>The generated values, which may contain zeros.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.GetCryptoRandomData(System.Int32)">
      <summary>
            Gets a cryptographically strong random sequence of values.
            </summary>
      <param name="length">The length of the sequence to generate.</param>
      <returns>The generated values, which may contain zeros.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.GetCryptoRandomDataAsBase64(System.Int32)">
      <summary>
            Gets a cryptographically strong random sequence of values.
            </summary>
      <param name="binaryLength">The length of the byte sequence to generate.</param>
      <returns>A base64 encoding of the generated random data, 
            whose length in characters will likely be greater than <paramref name="binaryLength" />.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.GetRandomString(System.Int32,System.String)">
      <summary>
            Gets a random string made up of a given set of allowable characters.
            </summary>
      <param name="length">The length of the desired random string.</param>
      <param name="allowableCharacters">The allowable characters.</param>
      <returns>A random string.</returns>
      <requires exception="T:System.ArgumentOutOfRangeException">length &gt;= 0</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">length &lt; 0</exception>
      <requires exception="T:System.ArgumentException">allowableCharacters != null &amp;&amp; allowableCharacters.Length &gt;= 2</requires>
      <exception cref="T:System.ArgumentException">allowableCharacters == null || allowableCharacters.Length &lt; 2</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.EqualsConstantTime(System.String,System.String)">
      <summary>
            Compares to string values for ordinal equality in such a way that its execution time does not depend on how much of the value matches.
            </summary>
      <param name="value1">The first value.</param>
      <param name="value2">The second value.</param>
      <returns>A value indicating whether the two strings share ordinal equality.</returns>
      <remarks>
            In signature equality checks, a difference in execution time based on how many initial characters match MAY
            be used as an attack to figure out the expected signature.  It is therefore important to make a signature
            equality check's execution time independent of how many characters match the expected value.
            See http://codahale.com/a-lesson-in-timing-attacks/ for more information.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.ApplyHeadersToResponse(System.Net.WebHeaderCollection,System.Web.HttpResponse)">
      <summary>
            Adds a set of HTTP headers to an <see cref="T:System.Web.HttpResponse" /> instance,
            taking care to set some headers to the appropriate properties of
            <see cref="T:System.Web.HttpResponse" /></summary>
      <param name="headers">The headers to add.</param>
      <param name="response">The <see cref="T:System.Web.HttpResponse" /> instance to set the appropriate values to.</param>
      <requires exception="T:System.ArgumentNullException">headers != null</requires>
      <exception cref="T:System.ArgumentNullException">headers == null</exception>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.ApplyHeadersToResponse(System.Net.WebHeaderCollection,System.Net.HttpListenerResponse)">
      <summary>
            Adds a set of HTTP headers to an <see cref="T:System.Web.HttpResponse" /> instance,
            taking care to set some headers to the appropriate properties of
            <see cref="T:System.Web.HttpResponse" /></summary>
      <param name="headers">The headers to add.</param>
      <param name="response">The <see cref="T:System.Net.HttpListenerResponse" /> instance to set the appropriate values to.</param>
      <requires exception="T:System.ArgumentNullException">headers != null</requires>
      <exception cref="T:System.ArgumentNullException">headers == null</exception>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.CopyTo(System.IO.Stream,System.IO.Stream)">
      <summary>
            Copies the contents of one stream to another.
            </summary>
      <param name="copyFrom">The stream to copy from, at the position where copying should begin.</param>
      <param name="copyTo">The stream to copy to, at the position where bytes should be written.</param>
      <returns>The total number of bytes copied.</returns>
      <remarks>
            Copying begins at the streams' current positions.
            The positions are NOT reset after copying is complete.
            </remarks>
      <requires exception="T:System.ArgumentNullException">copyFrom != null</requires>
      <exception cref="T:System.ArgumentNullException">copyFrom == null</exception>
      <requires exception="T:System.ArgumentNullException">copyTo != null</requires>
      <exception cref="T:System.ArgumentNullException">copyTo == null</exception>
      <requires exception="T:System.ArgumentException">copyFrom.CanRead</requires>
      <exception cref="T:System.ArgumentException">!(copyFrom.CanRead)</exception>
      <requires exception="T:System.ArgumentException">copyTo.CanWrite</requires>
      <exception cref="T:System.ArgumentException">!(copyTo.CanWrite)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.CopyUpTo(System.IO.Stream,System.IO.Stream,System.Int32)">
      <summary>
            Copies the contents of one stream to another.
            </summary>
      <param name="copyFrom">The stream to copy from, at the position where copying should begin.</param>
      <param name="copyTo">The stream to copy to, at the position where bytes should be written.</param>
      <param name="maximumBytesToCopy">The maximum bytes to copy.</param>
      <returns>The total number of bytes copied.</returns>
      <remarks>
            Copying begins at the streams' current positions.
            The positions are NOT reset after copying is complete.
            </remarks>
      <requires exception="T:System.ArgumentNullException">copyFrom != null</requires>
      <exception cref="T:System.ArgumentNullException">copyFrom == null</exception>
      <requires exception="T:System.ArgumentNullException">copyTo != null</requires>
      <exception cref="T:System.ArgumentNullException">copyTo == null</exception>
      <requires exception="T:System.ArgumentException">copyFrom.CanRead</requires>
      <exception cref="T:System.ArgumentException">!(copyFrom.CanRead)</exception>
      <requires exception="T:System.ArgumentException">copyTo.CanWrite</requires>
      <exception cref="T:System.ArgumentException">!(copyTo.CanWrite)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.CreateSnapshot(System.IO.Stream)">
      <summary>
            Creates a snapshot of some stream so it is seekable, and the original can be closed.
            </summary>
      <param name="copyFrom">The stream to copy bytes from.</param>
      <returns>A seekable stream with the same contents as the original.</returns>
      <requires exception="T:System.ArgumentNullException">copyFrom != null</requires>
      <exception cref="T:System.ArgumentNullException">copyFrom == null</exception>
      <requires exception="T:System.ArgumentException">copyFrom.CanRead</requires>
      <exception cref="T:System.ArgumentException">!(copyFrom.CanRead)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.Clone(System.Net.HttpWebRequest)">
      <summary>
            Clones an <see cref="T:System.Net.HttpWebRequest" /> in order to send it again.
            </summary>
      <param name="request">The request to clone.</param>
      <returns>The newly created instance.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentException">request.RequestUri != null</requires>
      <exception cref="T:System.ArgumentException">request.RequestUri == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.Clone(System.Net.HttpWebRequest,System.Uri)">
      <summary>
            Clones an <see cref="T:System.Net.HttpWebRequest" /> in order to send it again.
            </summary>
      <param name="request">The request to clone.</param>
      <param name="newRequestUri">The new recipient of the request.</param>
      <returns>The newly created instance.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentNullException">newRequestUri != null</requires>
      <exception cref="T:System.ArgumentNullException">newRequestUri == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.AreEquivalent``1(``0[],``0[])">
      <summary>
            Tests whether two arrays are equal in contents and ordering.
            </summary>
      <typeparam name="T">The type of elements in the arrays.</typeparam>
      <param name="first">The first array in the comparison.  May not be null.</param>
      <param name="second">The second array in the comparison. May not be null.</param>
      <returns>True if the arrays equal; false otherwise.</returns>
      <requires exception="T:System.ArgumentNullException">first != null</requires>
      <exception cref="T:System.ArgumentNullException">first == null</exception>
      <requires exception="T:System.ArgumentNullException">second != null</requires>
      <exception cref="T:System.ArgumentNullException">second == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.AreEquivalent``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Tests two sequences for same contents and ordering.
            </summary>
      <typeparam name="T">The type of elements in the arrays.</typeparam>
      <param name="sequence1">The first sequence in the comparison.  May not be null.</param>
      <param name="sequence2">The second sequence in the comparison. May not be null.</param>
      <returns>True if the arrays equal; false otherwise.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.AreEquivalentUnordered``1(System.Collections.Generic.ICollection{``0},System.Collections.Generic.ICollection{``0})">
      <summary>
            Tests two unordered collections for same contents.
            </summary>
      <typeparam name="T">The type of elements in the collections.</typeparam>
      <param name="first">The first collection in the comparison.  May not be null.</param>
      <param name="second">The second collection in the comparison. May not be null.</param>
      <returns>True if the collections have the same contents; false otherwise.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.AreEquivalent``2(System.Collections.Generic.IDictionary{``0,``1},System.Collections.Generic.IDictionary{``0,``1})">
      <summary>
            Tests whether two dictionaries are equal in length and contents.
            </summary>
      <typeparam name="TKey">The type of keys in the dictionaries.</typeparam>
      <typeparam name="TValue">The type of values in the dictionaries.</typeparam>
      <param name="first">The first dictionary in the comparison.  May not be null.</param>
      <param name="second">The second dictionary in the comparison. May not be null.</param>
      <returns>True if the arrays equal; false otherwise.</returns>
      <requires exception="T:System.ArgumentNullException">first != null</requires>
      <exception cref="T:System.ArgumentNullException">first == null</exception>
      <requires exception="T:System.ArgumentNullException">second != null</requires>
      <exception cref="T:System.ArgumentNullException">second == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.CreateQueryString(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
      <summary>
            Concatenates a list of name-value pairs as key=value&amp;key=value,
            taking care to properly encode each key and value for URL
            transmission according to RFC 3986.  No ? is prefixed to the string.
            </summary>
      <param name="args">The dictionary of key/values to read from.</param>
      <returns>The formulated querystring style string.</returns>
      <requires exception="T:System.ArgumentNullException">args != null</requires>
      <exception cref="T:System.ArgumentNullException">args == null</exception>
      <ensures>Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.AppendQueryArgs(System.UriBuilder,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
      <summary>
            Adds a set of name-value pairs to the end of a given URL
            as part of the querystring piece.  Prefixes a ? or &amp; before
            first element as necessary.
            </summary>
      <param name="builder">The UriBuilder to add arguments to.</param>
      <param name="args">
            The arguments to add to the query.  
            If null, <paramref name="builder" /> is not changed.
            </param>
      <remarks>
            If the parameters to add match names of parameters that already are defined
            in the query string, the existing ones are <i>not</i> replaced.
            </remarks>
      <requires exception="T:System.ArgumentNullException">builder != null</requires>
      <exception cref="T:System.ArgumentNullException">builder == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.AppendAndReplaceQueryArgs(System.UriBuilder,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
      <summary>
            Adds parameters to a query string, replacing parameters that
            match ones that already exist in the query string.
            </summary>
      <param name="builder">The UriBuilder to add arguments to.</param>
      <param name="args">
            The arguments to add to the query.  
            If null, <paramref name="builder" /> is not changed.
            </param>
      <requires exception="T:System.ArgumentNullException">builder != null</requires>
      <exception cref="T:System.ArgumentNullException">builder == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.GetRecipient(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Extracts the recipient from an HttpRequestInfo.
            </summary>
      <param name="request">The request to get recipient information from.</param>
      <returns>The recipient.</returns>
      <exception cref="T:System.ArgumentException">Thrown if the HTTP request is something we can't handle.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.GetHttpDeliveryMethod(System.String)">
      <summary>
            Gets the <see cref="T:DotNetOpenAuth.Messaging.HttpDeliveryMethods" /> enum value for a given HTTP verb.
            </summary>
      <param name="httpVerb">The HTTP verb.</param>
      <returns>A <see cref="T:DotNetOpenAuth.Messaging.HttpDeliveryMethods" /> enum value that is within the <see cref="F:DotNetOpenAuth.Messaging.HttpDeliveryMethods.HttpVerbMask" />.</returns>
      <exception cref="T:System.ArgumentException">Thrown if the HTTP request is something we can't handle.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.GetHttpVerb(DotNetOpenAuth.Messaging.HttpDeliveryMethods)">
      <summary>
            Gets the HTTP verb to use for a given <see cref="T:DotNetOpenAuth.Messaging.HttpDeliveryMethods" /> enum value.
            </summary>
      <param name="httpMethod">The HTTP method.</param>
      <returns>An HTTP verb, such as GET, POST, PUT, or DELETE.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.AddExtraParameters(DotNetOpenAuth.Messaging.Reflection.MessageDictionary,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Copies some extra parameters into a message.
            </summary>
      <param name="messageDictionary">The message to copy the extra data into.</param>
      <param name="extraParameters">The extra data to copy into the message.  May be null to do nothing.</param>
      <requires exception="T:System.ArgumentNullException">messageDictionary != null</requires>
      <exception cref="T:System.ArgumentNullException">messageDictionary == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.ToDictionary(System.Collections.Specialized.NameValueCollection)">
      <summary>
            Converts a <see cref="T:System.Collections.Specialized.NameValueCollection" /> to an IDictionary&lt;string, string&gt;.
            </summary>
      <param name="nvc">The NameValueCollection to convert.  May be null.</param>
      <returns>The generated dictionary, or null if <paramref name="nvc" /> is null.</returns>
      <remarks>
            If a <c>null</c> key is encountered, its value is ignored since
            <c>Dictionary&lt;string, string&gt;</c> does not allow null keys.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.ToDictionary(System.Collections.Specialized.NameValueCollection,System.Boolean)">
      <summary>
            Converts a <see cref="T:System.Collections.Specialized.NameValueCollection" /> to an IDictionary&lt;string, string&gt;.
            </summary>
      <param name="nvc">The NameValueCollection to convert.  May be null.</param>
      <param name="throwOnNullKey">
            A value indicating whether a null key in the <see cref="T:System.Collections.Specialized.NameValueCollection" /> should be silently skipped since it is not a valid key in a Dictionary.  
            Use <c>true</c> to throw an exception if a null key is encountered.
            Use <c>false</c> to silently continue converting the valid keys.
            </param>
      <returns>The generated dictionary, or null if <paramref name="nvc" /> is null.</returns>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="throwOnNullKey" /> is <c>true</c> and a null key is encountered.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.OrderBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Comparison{``1})">
      <summary>
            Sorts the elements of a sequence in ascending order by using a specified comparer.
            </summary>
      <typeparam name="TSource">The type of the elements of source.</typeparam>
      <typeparam name="TKey">The type of the key returned by keySelector.</typeparam>
      <param name="source">A sequence of values to order.</param>
      <param name="keySelector">A function to extract a key from an element.</param>
      <param name="comparer">A comparison function to compare keys.</param>
      <returns>An System.Linq.IOrderedEnumerable&lt;TElement&gt; whose elements are sorted according to a key.</returns>
      <requires exception="T:System.ArgumentNullException">source != null</requires>
      <exception cref="T:System.ArgumentNullException">source == null</exception>
      <requires exception="T:System.ArgumentNullException">comparer != null</requires>
      <exception cref="T:System.ArgumentNullException">comparer == null</exception>
      <requires exception="T:System.ArgumentNullException">keySelector != null</requires>
      <exception cref="T:System.ArgumentNullException">keySelector == null</exception>
      <ensures>Contract.Result&lt;IOrderedEnumerable&lt;TSource&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.IsRequest(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Determines whether the specified message is a request (indirect message or direct request).
            </summary>
      <param name="message">The message in question.</param>
      <returns>
        <c>true</c> if the specified message is a request; otherwise, <c>false</c>.
            </returns>
      <remarks>
            Although an <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessage" /> may implement the <see cref="T:DotNetOpenAuth.Messaging.IDirectedProtocolMessage" />
            interface, it may only be doing that for its derived classes.  These objects are only requests
            if their <see cref="P:DotNetOpenAuth.Messaging.IDirectedProtocolMessage.Recipient" /> property is non-null.
            </remarks>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.IsDirectResponse(DotNetOpenAuth.Messaging.IDirectResponseProtocolMessage)">
      <summary>
            Determines whether the specified message is a direct response.
            </summary>
      <param name="message">The message in question.</param>
      <returns>
        <c>true</c> if the specified message is a direct response; otherwise, <c>false</c>.
            </returns>
      <remarks>
            Although an <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessage" /> may implement the 
            <see cref="T:DotNetOpenAuth.Messaging.IDirectResponseProtocolMessage" /> interface, it may only be doing 
            that for its derived classes.  These objects are only requests if their 
            <see cref="P:DotNetOpenAuth.Messaging.IDirectResponseProtocolMessage.OriginatingRequest" /> property is non-null.
            </remarks>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.CreateJsonObject(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Boolean)">
      <summary>
            Constructs a Javascript expression that will create an object
            on the user agent when assigned to a variable.
            </summary>
      <param name="namesAndValues">The untrusted names and untrusted values to inject into the JSON object.</param>
      <param name="valuesPreEncoded">if set to <c>true</c> the values will NOT be escaped as if it were a pure string.</param>
      <returns>The Javascript JSON object as a string.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.GetSafeJavascriptValue(System.String)">
      <summary>
            Prepares what SHOULD be simply a string value for safe injection into Javascript
            by using appropriate character escaping.
            </summary>
      <param name="value">The untrusted string value to be escaped to protected against XSS attacks.  May be null.</param>
      <returns>The escaped string, surrounded by single-quotes.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.EscapeUriDataStringRfc3986(System.String)">
      <summary>
            Escapes a string according to the URI data string rules given in RFC 3986.
            </summary>
      <param name="value">The value to escape.</param>
      <returns>The escaped value.</returns>
      <remarks>
            The <see cref="M:System.Uri.EscapeDataString(System.String)" /> method is <i>supposed</i> to take on
            RFC 3986 behavior if certain elements are present in a .config file.  Even if this
            actually worked (which in my experiments it <i>doesn't</i>), we can't rely on every
            host actually having this configuration element present.
            </remarks>
      <requires exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.ToLocalTimeSafe(System.DateTime)">
      <summary>
            Ensures that UTC times are converted to local times.  Unspecified kinds are unchanged.
            </summary>
      <param name="value">The date-time to convert.</param>
      <returns>The date-time in local time.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.ToUniversalTimeSafe(System.DateTime)">
      <summary>
            Ensures that local times are converted to UTC times.  Unspecified kinds are unchanged.
            </summary>
      <param name="value">The date-time to convert.</param>
      <returns>The date-time in UTC time.</returns>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.MessagingUtilities.ComparisonHelper`1">
      <summary>
            A class to convert a <see cref="T:System.Comparison`1" /> into an <see cref="T:System.Collections.Generic.IComparer`1" />.
            </summary>
      <typeparam name="T">The type of objects being compared.</typeparam>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessagingUtilities.ComparisonHelper`1.comparison">
      <summary>
            The comparison method to use.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.ComparisonHelper`1.#ctor(System.Comparison{`0})">
      <summary>
            Initializes a new instance of the ComparisonHelper class.
            </summary>
      <param name="comparison">The comparison method to use.</param>
      <requires exception="T:System.ArgumentNullException">comparison != null</requires>
      <exception cref="T:System.ArgumentNullException">comparison == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessagingUtilities.ComparisonHelper`1.Compare(`0,`0)">
      <summary>
            Compares two instances of <typeparamref name="T" />.
            </summary>
      <param name="x">The first object to compare.</param>
      <param name="y">The second object to compare.</param>
      <returns>Any of -1, 0, or 1 according to standard comparison rules.</returns>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement">
      <summary>
            A message expiration enforcing binding element that supports messages
            implementing the <see cref="T:DotNetOpenAuth.Messaging.Bindings.IExpiringProtocolMessage" /> interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Sets the timestamp on an outgoing message.
            </summary>
      <param name="message">The outgoing message.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Reads the timestamp on a message and throws an exception if the message is too old.
            </summary>
      <param name="message">The incoming message.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.Bindings.ExpiredMessageException">Thrown if the given message has already expired.</exception>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement.DotNetOpenAuth#Messaging#IChannelBindingElement#Protection">
      <summary>
            Gets the protection offered by this binding element.
            </summary>
      <value>
        <see cref="F:DotNetOpenAuth.Messaging.MessageProtections.Expiration" />
      </value>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement.MaximumMessageAge">
      <summary>
            Gets the maximum age a message implementing the 
            <see cref="T:DotNetOpenAuth.Messaging.Bindings.IExpiringProtocolMessage" /> interface can be before
            being discarded as too old.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Reflection.ValueMapping">
      <summary>
            A pair of conversion functions to map some type to a string and back again.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.ValueMapping.ValueToString">
      <summary>
            The mapping function that converts some custom type to a string.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.ValueMapping.ValueToOriginalString">
      <summary>
            The mapping function that converts some custom type to the original string
            (possibly non-normalized) that represents it.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.ValueMapping.StringToValue">
      <summary>
            The mapping function that converts a string to some custom type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.ValueMapping.#ctor(System.Func{System.Object,System.String},System.Func{System.Object,System.String},System.Func{System.String,System.Object})">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Reflection.ValueMapping" /> struct.
            </summary>
      <param name="toString">The mapping function that converts some custom value to a string.</param>
      <param name="toOriginalString">The mapping function that converts some custom value to its original (non-normalized) string.  May be null if the same as the <paramref name="toString" /> function.</param>
      <param name="toValue">The mapping function that converts a string to some custom value.</param>
      <requires exception="T:System.ArgumentNullException">toString != null</requires>
      <exception cref="T:System.ArgumentNullException">toString == null</exception>
      <requires exception="T:System.ArgumentNullException">toValue != null</requires>
      <exception cref="T:System.ArgumentNullException">toValue == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.ValueMapping.#ctor(DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Reflection.ValueMapping" /> struct.
            </summary>
      <param name="encoder">The encoder.</param>
      <requires exception="T:System.ArgumentNullException">encoder != null</requires>
      <exception cref="T:System.ArgumentNullException">encoder == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Reflection.MessageDescription">
      <summary>
            A mapping between serialized key names and <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessagePart" /> instances describing
            those key/values pairs.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessageDescription.messageType">
      <summary>
            The type of message this instance was generated from.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessageDescription.messageVersion">
      <summary>
            The message version this instance was generated from.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessageDescription.mapping">
      <summary>
            A mapping between the serialized key names and their 
            describing <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessagePart" /> instances.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescription.#ctor(System.Type,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessageDescription" /> class.
            </summary>
      <param name="messageType">Type of the message.</param>
      <param name="messageVersion">The message version.</param>
      <requires exception="T:System.ArgumentNullException">messageType != null</requires>
      <exception cref="T:System.ArgumentNullException">messageType == null</exception>
      <requires exception="T:System.ArgumentException">typeof(IMessage).IsAssignableFrom(messageType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IMessage).IsAssignableFrom(messageType))</exception>
      <requires exception="T:System.ArgumentNullException">messageVersion != null</requires>
      <exception cref="T:System.ArgumentNullException">messageVersion == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescription.GetDictionary(DotNetOpenAuth.Messaging.IMessage)">
      <summary>
            Gets a dictionary that provides read/write access to a message.
            </summary>
      <param name="message">The message the dictionary should provide access to.</param>
      <returns>The dictionary accessor to the message</returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <ensures>Contract.Result&lt;MessageDictionary&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescription.GetDictionary(DotNetOpenAuth.Messaging.IMessage,System.Boolean)">
      <summary>
            Gets a dictionary that provides read/write access to a message.
            </summary>
      <param name="message">The message the dictionary should provide access to.</param>
      <param name="getOriginalValues">A value indicating whether this message dictionary will retrieve original values instead of normalized ones.</param>
      <returns>The dictionary accessor to the message</returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <ensures>Contract.Result&lt;MessageDictionary&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescription.ReflectMessageType">
      <summary>
            Reflects over some <see cref="T:DotNetOpenAuth.Messaging.IMessage" />-implementing type
            and prepares to serialize/deserialize instances of that type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescription.EnsureMessagePartsPassBasicValidation(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Ensures the message parts pass basic validation.
            </summary>
      <param name="parts">The key/value pairs of the serialized message.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescription.EnsureRequiredMessagePartsArePresent(System.Collections.Generic.IEnumerable{System.String})">
      <summary>
            Verifies that a given set of keys include all the required parameters
            for this message type or throws an exception.
            </summary>
      <param name="keys">The names of all parameters included in a message.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown when required parts of a message are not in <paramref name="keys" /></exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDescription.EnsureRequiredProtocolMessagePartsAreNotEmpty(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Ensures the protocol message parts that must not be empty are in fact not empty.
            </summary>
      <param name="partValues">A dictionary of key/value pairs that make up the serialized message.</param>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDescription.Mapping">
      <summary>
            Gets the mapping between the serialized key names and their describing
            <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessagePart" /> instances.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Reflection.MessageDictionary">
      <summary>
            Wraps an <see cref="T:DotNetOpenAuth.Messaging.IMessage" /> instance in a dictionary that
            provides access to both well-defined message properties and "extra" 
            name/value pairs that have no properties associated with them.
            </summary>
      <invariant>this.Message != null</invariant>
      <invariant>this.Description != null</invariant>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.message">
      <summary>
            The <see cref="T:DotNetOpenAuth.Messaging.IMessage" /> instance manipulated by this dictionary.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.description">
      <summary>
            The <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessageDescription" /> instance that describes the message type.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.getOriginalValues">
      <summary>
            Whether original string values should be retrieved instead of normalized ones.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.#ctor(DotNetOpenAuth.Messaging.IMessage,DotNetOpenAuth.Messaging.Reflection.MessageDescription,System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessageDictionary" /> class.
            </summary>
      <param name="message">The message instance whose values will be manipulated by this dictionary.</param>
      <param name="description">The message description.</param>
      <param name="getOriginalValues">A value indicating whether this message dictionary will retrieve original values instead of normalized ones.</param>
      <pure />
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires exception="T:System.ArgumentNullException">description != null</requires>
      <exception cref="T:System.ArgumentNullException">description == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Add(System.String,System.String)">
      <summary>
            Adds a named value to the message.
            </summary>
      <param name="key">The serialized form of the name whose value is being set.</param>
      <param name="value">The serialized form of the value.</param>
      <exception cref="T:System.ArgumentException">
            Thrown if <paramref name="key" /> already has a set value in this message.
            </exception>
      <exception cref="T:System.ArgumentNullException">
            Thrown if <paramref name="value" /> is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.ContainsKey(System.String)">
      <summary>
            Checks whether some named parameter has a value set in the message.
            </summary>
      <param name="key">The serialized form of the message part's name.</param>
      <returns>True if the parameter by the given name has a set value.  False otherwise.</returns>
      <ensures inheritedFrom="M:System.Collections.Generic.IDictionary`2.ContainsKey(`0)" inheritedFromTypeName="IDictionary">!Contract.Result&lt;bool&gt;() || @this.Count &gt; 0</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Remove(System.String)">
      <summary>
            Removes a name and value from the message given its name.
            </summary>
      <param name="key">The serialized form of the name to remove.</param>
      <returns>True if a message part by the given name was found and removed.  False otherwise.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.TryGetValue(System.String,System.String@)">
      <summary>
            Gets some named value if the key has a value.
            </summary>
      <param name="key">The name (in serialized form) of the value being sought.</param>
      <param name="value">The variable where the value will be set.</param>
      <returns>True if the key was found and <paramref name="value" /> was set.  False otherwise.</returns>
      <ensures inheritedFrom="M:System.Collections.Generic.IDictionary`2.TryGetValue(`0,`1@)" inheritedFromTypeName="IDictionary">Contract.Result&lt;bool&gt;() == @this.ContainsKey(key)</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Add(System.Collections.Generic.KeyValuePair{System.String,System.String})">
      <summary>
            Sets a named value in the message.
            </summary>
      <param name="item">The name-value pair to add.  The name is the serialized form of the key.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.ClearValues">
      <summary>
            Removes all values in the message.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Clear">
      <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
      <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </exception>
      <remarks>
            This method cannot be implemented because keys are not guaranteed to be removed
            since some are inherent to the type of message that this dictionary provides
            access to.
            </remarks>
      <ensures inheritedFrom="M:System.Collections.Generic.ICollection`1.Clear" inheritedFromTypeName="ICollection">this.Count == 0</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Contains(System.Collections.Generic.KeyValuePair{System.String,System.String})">
      <summary>
            Checks whether a named value has been set on the message.
            </summary>
      <param name="item">The name/value pair.</param>
      <returns>True if the key exists and has the given value.  False otherwise.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String@System#String}}#CopyTo(System.Collections.Generic.KeyValuePair{System.String,System.String}[],System.Int32)">
      <summary>
            Copies all the serializable data from the message to a key/value array.
            </summary>
      <param name="array">The array to copy to.</param>
      <param name="arrayIndex">The index in the <paramref name="array" /> to begin copying to.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Remove(System.Collections.Generic.KeyValuePair{System.String,System.String})">
      <summary>
            Removes a named value from the message if it exists.
            </summary>
      <param name="item">The serialized form of the name and value to remove.</param>
      <returns>True if the name/value was found and removed.  False otherwise.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.GetEnumerator">
      <summary>
            Gets an enumerator that generates KeyValuePair&lt;string, string&gt; instances
            for all the key/value pairs that are set in the message.
            </summary>
      <returns>The enumerator that can generate the name/value pairs.</returns>
      <ensures inheritedFrom="M:System.Collections.Generic.IEnumerable`1.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&lt;T&gt;&gt;() != null</ensures>
      <ensures inheritedFrom="M:System.Collections.Generic.IEnumerable`1.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&lt;T&gt;&gt;().Model == ((IEnumerable)this).Model</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.System#Collections#IEnumerable#GetEnumerator">
      <summary>
            Gets an enumerator that generates KeyValuePair&lt;string, string&gt; instances
            for all the key/value pairs that are set in the message.
            </summary>
      <returns>The enumerator that can generate the name/value pairs.</returns>
      <ensures inheritedFrom="M:System.Collections.IEnumerable.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&gt;() != null</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerable.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&gt;().Model == this.Model</ensures>
      <ensures inheritedFrom="M:System.Collections.IEnumerable.GetEnumerator" inheritedFromTypeName="IEnumerable">Contract.Result&lt;IEnumerator&gt;().CurrentIndex == -1</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Serialize">
      <summary>
            Saves the data in a message to a standard dictionary.
            </summary>
      <returns>The generated dictionary.</returns>
      <pure />
      <ensures>Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Deserialize(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Loads data from a dictionary into the message.
            </summary>
      <param name="fields">The data to load into the message.</param>
      <requires exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Message">
      <summary>
            Gets the message this dictionary provides access to.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;IMessage&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Description">
      <summary>
            Gets the description of the type of message this dictionary provides access to.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;MessageDescription&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Count">
      <summary>
            Gets the number of explicitly set values in the message.
            </summary>
      <getter>
        <ensures inheritedFrom="M:System.Collections.Generic.ICollection`1.get_Count" inheritedFromTypeName="ICollection">Contract.Result&lt;int&gt;() &gt;= 0</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String@System#String}}#IsReadOnly">
      <summary>
            Gets a value indicating whether this message is read only.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Keys">
      <summary>
            Gets all the keys that have values associated with them.
            </summary>
      <getter>
        <ensures inheritedFrom="M:System.Collections.Generic.IDictionary`2.get_Keys" inheritedFromTypeName="IDictionary">Contract.Result&lt;ICollection&lt;TKey&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.DeclaredKeys">
      <summary>
            Gets the set of official message part names that have non-null values associated with them.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.AdditionalKeys">
      <summary>
            Gets the keys that are in the message but not declared as official OAuth properties.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Values">
      <summary>
            Gets all the values.
            </summary>
      <getter>
        <ensures inheritedFrom="M:System.Collections.Generic.IDictionary`2.get_Values" inheritedFromTypeName="IDictionary">Contract.Result&lt;ICollection&lt;TValue&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Serializer">
      <summary>
            Gets the serializer for the message this dictionary provides access to.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Item(System.String)">
      <summary>
            Gets or sets a value for some named value.
            </summary>
      <param name="key">The serialized form of a name for the value to read or write.</param>
      <returns>The named value.</returns>
      <remarks>
            If the key matches a declared property or field on the message type,
            that type member is set.  Otherwise the key/value is stored in a
            dictionary for extra (weakly typed) strings.
            </remarks>
      <exception cref="T:System.ArgumentException">Thrown when setting a value that is not allowed for a given <paramref name="key" />.</exception>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.Reflection.MessagePart">
      <summary>
            Describes an individual member of a message and assists in its serialization.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessagePart.converters">
      <summary>
            A map of converters that help serialize custom objects to string values and back again.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessagePart.encoders">
      <summary>
            A map of instantiated custom encoders used to encode/decode message parts.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessagePart.converter">
      <summary>
            The string-object conversion routines to use for this individual message part.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessagePart.property">
      <summary>
            The property that this message part is associated with, if aplicable.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessagePart.field">
      <summary>
            The field that this message part is associated with, if aplicable.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessagePart.memberDeclaredType">
      <summary>
            The type of the message part.  (Not the type of the message itself).
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.Reflection.MessagePart.defaultMemberValue">
      <summary>
            The default (uninitialized) value of the member inherent in its type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.#cctor">
      <summary>
            Initializes static members of the <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessagePart" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.#ctor(System.Reflection.MemberInfo,DotNetOpenAuth.Messaging.MessagePartAttribute)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.Reflection.MessagePart" /> class.
            </summary>
      <param name="member">
            A property or field of an <see cref="T:DotNetOpenAuth.Messaging.IMessage" /> implementing type
            that has a <see cref="T:DotNetOpenAuth.Messaging.MessagePartAttribute" /> attached to it.
            </param>
      <param name="attribute">
            The attribute discovered on <paramref name="member" /> that describes the
            serialization requirements of the message part.
            </param>
      <requires exception="T:System.ArgumentNullException">member != null</requires>
      <exception cref="T:System.ArgumentNullException">member == null</exception>
      <requires exception="T:System.ArgumentException">member is FieldInfo || member is PropertyInfo</requires>
      <exception cref="T:System.ArgumentException">!(member is FieldInfo) &amp;&amp; !(member is PropertyInfo)</exception>
      <requires exception="T:System.ArgumentNullException">attribute != null</requires>
      <exception cref="T:System.ArgumentNullException">attribute == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.SetValue(DotNetOpenAuth.Messaging.IMessage,System.String)">
      <summary>
            Sets the member of a given message to some given value.
            Used in deserialization.
            </summary>
      <param name="message">The message instance containing the member whose value should be set.</param>
      <param name="value">The string representation of the value to set.</param>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.GetValue(DotNetOpenAuth.Messaging.IMessage)">
      <summary>
            Gets the normalized form of a value of a member of a given message.
            Used in serialization.
            </summary>
      <param name="message">The message instance to read the value from.</param>
      <returns>The string representation of the member's value.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.GetValue(DotNetOpenAuth.Messaging.IMessage,System.Boolean)">
      <summary>
            Gets the value of a member of a given message.
            Used in serialization.
            </summary>
      <param name="message">The message instance to read the value from.</param>
      <param name="originalValue">A value indicating whether the original value should be retrieved (as opposed to a normalized form of it).</param>
      <returns>The string representation of the member's value.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.IsNondefaultValueSet(DotNetOpenAuth.Messaging.IMessage)">
      <summary>
            Gets whether the value has been set to something other than its CLR type default value.
            </summary>
      <param name="message">The message instance to check the value on.</param>
      <returns>True if the value is not the CLR default value.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.DeriveDefaultValue(System.Type)">
      <summary>
            Figures out the CLR default value for a given type.
            </summary>
      <param name="type">The type whose default value is being sought.</param>
      <returns>Either null, or some default value like 0 or 0.0.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.Map``1(System.Func{``0,System.String},System.Func{``0,System.String},System.Func{System.String,``0})">
      <summary>
            Adds a pair of type conversion functions to the static conversion map.
            </summary>
      <typeparam name="T">The custom type to convert to and from strings.</typeparam>
      <param name="toString">The function to convert the custom type to a string.</param>
      <param name="toOriginalString">The mapping function that converts some custom value to its original (non-normalized) string.  May be null if the same as the <paramref name="toString" /> function.</param>
      <param name="toValue">The function to convert a string to the custom type.</param>
      <requires description="toString" exception="T:System.ArgumentNullException">toString != null</requires>
      <exception cref="T:System.ArgumentNullException">toString == null</exception>
      <requires description="toValue" exception="T:System.ArgumentNullException">toValue != null</requires>
      <exception cref="T:System.ArgumentNullException">toValue == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.IsNonNullableValueType(System.Type)">
      <summary>
            Checks whether a type is a nullable value type (i.e. int?)
            </summary>
      <param name="type">The type in question.</param>
      <returns>True if this is a nullable value type.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.GetEncoder(System.Type)">
      <summary>
            Retrieves a previously instantiated encoder of a given type, or creates a new one and stores it for later retrieval as well.
            </summary>
      <param name="messagePartEncoder">The message part encoder type.</param>
      <returns>An instance of the desired encoder.</returns>
      <requires exception="T:System.ArgumentNullException">messagePartEncoder != null</requires>
      <exception cref="T:System.ArgumentNullException">messagePartEncoder == null</exception>
      <ensures>Contract.Result&lt;IMessagePartEncoder&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.ToValue(System.String)">
      <summary>
            Converts a string representation of the member's value to the appropriate type.
            </summary>
      <param name="value">The string representation of the member's value.</param>
      <returns>
            An instance of the appropriate type for setting the member.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.ToString(System.Object,System.Boolean)">
      <summary>
            Converts the member's value to its string representation.
            </summary>
      <param name="value">The value of the member.</param>
      <param name="originalString">A value indicating whether a string matching the originally decoded string should be returned (as opposed to a normalized string).</param>
      <returns>
            The string representation of the member's value.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.GetValueAsObject(DotNetOpenAuth.Messaging.IMessage)">
      <summary>
            Gets the value of the message part, without converting it to/from a string.
            </summary>
      <param name="message">The message instance to read from.</param>
      <returns>The value of the member.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.Reflection.MessagePart.ValidateSettings">
      <summary>
            Validates that the message part and its attribute have agreeable settings.
            </summary>
      <exception cref="T:System.ArgumentException">
            Thrown when a non-nullable value type is set as optional.
            </exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessagePart.Name">
      <summary>
            Gets or sets the name to use when serializing or deserializing this parameter in a message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessagePart.RequiredProtection">
      <summary>
            Gets or sets whether this message part must be signed.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessagePart.IsRequired">
      <summary>
            Gets or sets a value indicating whether this message part is required for the
            containing message to be valid.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessagePart.AllowEmpty">
      <summary>
            Gets or sets a value indicating whether the string value is allowed to be empty in the serialized message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.Reflection.MessagePart.IsConstantValue">
      <summary>
            Gets or sets a value indicating whether the field or property must remain its default value.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.UnprotectedMessageException">
      <summary>
            An exception thrown when messages cannot receive all the protections they require.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UnprotectedMessageException.#ctor(DotNetOpenAuth.Messaging.IProtocolMessage,DotNetOpenAuth.Messaging.MessageProtections)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.UnprotectedMessageException" /> class.
            </summary>
      <param name="faultedMessage">The message whose protection requirements could not be met.</param>
      <param name="appliedProtection">The protection requirements that were fulfilled.</param>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UnprotectedMessageException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.UnprotectedMessageException" /> class.
            </summary>
      <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> 
            that holds the serialized object data about the exception being thrown.</param>
      <param name="context">The System.Runtime.Serialization.StreamingContext 
            that contains contextual information about the source or destination.</param>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel">
      <summary>
            An OAuth-specific implementation of the <see cref="T:DotNetOpenAuth.Messaging.Channel" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.#ctor(DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElement,DotNetOpenAuth.Messaging.Bindings.INonceStore,DotNetOpenAuth.OAuth.ChannelElements.IConsumerTokenManager,DotNetOpenAuth.OAuth.ConsumerSecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel" /> class.
            </summary>
      <param name="signingBindingElement">The binding element to use for signing.</param>
      <param name="store">The web application store to use for nonces.</param>
      <param name="tokenManager">The token manager instance to use.</param>
      <param name="securitySettings">The security settings.</param>
      <requires exception="T:System.ArgumentNullException">tokenManager != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenManager == null</exception>
      <requires description="securitySettings" exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
      <requires exception="T:System.ArgumentNullException">signingBindingElement != null</requires>
      <exception cref="T:System.ArgumentNullException">signingBindingElement == null</exception>
      <requires exception="T:System.ArgumentException">signingBindingElement.SignatureCallback == null</requires>
      <exception cref="T:System.ArgumentException">signingBindingElement.SignatureCallback != null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.#ctor(DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElement,DotNetOpenAuth.Messaging.Bindings.INonceStore,DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager,DotNetOpenAuth.OAuth.ServiceProviderSecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel" /> class.
            </summary>
      <param name="signingBindingElement">The binding element to use for signing.</param>
      <param name="store">The web application store to use for nonces.</param>
      <param name="tokenManager">The token manager instance to use.</param>
      <param name="securitySettings">The security settings.</param>
      <requires exception="T:System.ArgumentNullException">tokenManager != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenManager == null</exception>
      <requires description="securitySettings" exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
      <requires exception="T:System.ArgumentNullException">signingBindingElement != null</requires>
      <exception cref="T:System.ArgumentNullException">signingBindingElement == null</exception>
      <requires exception="T:System.ArgumentException">signingBindingElement.SignatureCallback == null</requires>
      <exception cref="T:System.ArgumentException">signingBindingElement.SignatureCallback != null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.#ctor(DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElement,DotNetOpenAuth.Messaging.Bindings.INonceStore,DotNetOpenAuth.OAuth.ChannelElements.ITokenManager,DotNetOpenAuth.OAuth.SecuritySettings,DotNetOpenAuth.Messaging.IMessageFactory)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel" /> class.
            </summary>
      <param name="signingBindingElement">The binding element to use for signing.</param>
      <param name="store">The web application store to use for nonces.</param>
      <param name="tokenManager">The ITokenManager instance to use.</param>
      <param name="securitySettings">The security settings.</param>
      <param name="messageTypeProvider">An injected message type provider instance.
            Except for mock testing, this should always be one of
            <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthConsumerMessageFactory" /> or <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthServiceProviderMessageFactory" />.</param>
      <requires exception="T:System.ArgumentNullException">tokenManager != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenManager == null</exception>
      <requires description="securitySettings" exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
      <requires exception="T:System.ArgumentNullException">signingBindingElement != null</requires>
      <exception cref="T:System.ArgumentNullException">signingBindingElement == null</exception>
      <requires exception="T:System.ArgumentException">signingBindingElement.SignatureCallback == null</requires>
      <exception cref="T:System.ArgumentException">signingBindingElement.SignatureCallback != null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.GetUriEscapedParameters(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
      <summary>
            Uri-escapes the names and values in a dictionary per OAuth 1.0 section 5.1.
            </summary>
      <param name="message">The message with data to encode.</param>
      <returns>A dictionary of name-value pairs with their strings encoded.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.InitializeRequest(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Initializes a web request for sending by attaching a message to it.
            Use this method to prepare a protected resource request that you do NOT
            expect an OAuth message response to.
            </summary>
      <param name="request">The message to attach.</param>
      <returns>The initialized web request.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.ReadFromRequestCore(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Searches an incoming HTTP request for data that could be used to assemble
            a protocol request message.
            </summary>
      <param name="request">The HTTP request to search.</param>
      <returns>The deserialized message, if one is found.  Null otherwise.</returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.ReadFromRequestCore(DotNetOpenAuth.Messaging.HttpRequestInfo)" inheritedFromTypeName="Channel" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.ReadFromResponseCore(DotNetOpenAuth.Messaging.IncomingWebResponse)">
      <summary>
            Gets the protocol message that may be in the given HTTP response.
            </summary>
      <param name="response">The response that is anticipated to contain an protocol message.</param>
      <returns>
            The deserialized message parts, if found.  Null otherwise.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.ReadFromResponseCore(DotNetOpenAuth.Messaging.IncomingWebResponse)" inheritedFromTypeName="Channel" exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.CreateHttpRequest(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Prepares an HTTP request that carries a given message.
            </summary>
      <param name="request">The message to send.</param>
      <returns>
            The <see cref="T:System.Web.HttpRequest" /> prepared to send the request.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.CreateHttpRequest(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)" inheritedFromTypeName="Channel" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.CreateHttpRequest(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)" inheritedFromTypeName="Channel" exception="T:System.ArgumentException">request.Recipient != null</requires>
      <exception cref="T:System.ArgumentException">request.Recipient == null</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.CreateHttpRequest(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)" inheritedFromTypeName="Channel">Contract.Result&lt;HttpWebRequest&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.PrepareDirectResponse(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Queues a message for sending in the response stream where the fields
            are sent in the response stream in querystring style.
            </summary>
      <param name="response">The message to send as a response.</param>
      <returns>The pending user agent redirect based message to be sent as an HttpResponse.</returns>
      <remarks>
            This method implements spec V1.0 section 5.3.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.PrepareDirectResponse(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="Channel" exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.PrepareDirectResponse(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="Channel">Contract.Result&lt;OutgoingWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.InitializeBindingElements(DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElement,DotNetOpenAuth.Messaging.Bindings.INonceStore,DotNetOpenAuth.OAuth.ChannelElements.ITokenManager,DotNetOpenAuth.OAuth.SecuritySettings)">
      <summary>
            Initializes the binding elements for the OAuth channel.
            </summary>
      <param name="signingBindingElement">The signing binding element.</param>
      <param name="store">The nonce store.</param>
      <param name="tokenManager">The token manager.</param>
      <param name="securitySettings">The security settings.</param>
      <returns>
            An array of binding elements used to initialize the channel.
            </returns>
      <requires>securitySettings != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.UriEscapeParameters(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Uri-escapes the names and values in a dictionary per OAuth 1.0 section 5.1.
            </summary>
      <param name="source">The dictionary with names and values to encode.</param>
      <param name="destination">The dictionary to add the encoded pairs to.</param>
      <requires exception="T:System.ArgumentNullException">source != null</requires>
      <exception cref="T:System.ArgumentNullException">source == null</exception>
      <requires exception="T:System.ArgumentNullException">destination != null</requires>
      <exception cref="T:System.ArgumentNullException">destination == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.GetHttpMethod(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Gets the HTTP method to use for a message.
            </summary>
      <param name="message">The message.</param>
      <returns>"POST", "GET" or some other similar http verb.</returns>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.InitializeRequestAsAuthHeader(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Prepares to send a request to the Service Provider via the Authorization header.
            </summary>
      <param name="requestMessage">The message to be transmitted to the ServiceProvider.</param>
      <returns>The web request ready to send.</returns>
      <remarks>
        <para>If the message has non-empty ExtraData in it, the request stream is sent to
            the server automatically.  If it is empty, the request stream must be sent by the caller.</para>
        <para>This method implements OAuth 1.0 section 5.2, item #1 (described in section 5.4).</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.SignatureCallback(DotNetOpenAuth.Messaging.ITamperResistantProtocolMessage)">
      <summary>
            Fills out the secrets in a message so that signing/verification can be performed.
            </summary>
      <param name="message">The message about to be signed or whose signature is about to be verified.</param>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.GetConsumerSecret(System.String)">
      <summary>
            Gets the consumer secret for a given consumer key.
            </summary>
      <param name="consumerKey">The consumer key.</param>
      <returns>The consumer secret.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.Realm">
      <summary>
            Gets or sets the Consumer web application path.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.TokenManager">
      <summary>
            Gets the token manager being used.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.OutgoingWebResponse">
      <summary>
            A protocol message (request or response) that passes from this
            to a remote party via the user agent using a redirect or form 
            POST submission, OR a direct message response.
            </summary>
      <remarks>
        <para>An instance of this type describes the HTTP response that must be sent
            in response to the current HTTP request.</para>
        <para>It is important that this response make up the entire HTTP response.
            A hosting ASPX page should not be allowed to render its normal HTML output
            after this response is sent.  The normal rendered output of an ASPX page 
            can be canceled by calling <see cref="M:System.Web.HttpResponse.End" /> after this message
            is sent on the response stream.</para>
      </remarks>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.OutgoingWebResponse.bodyStringEncoder">
      <summary>
            The encoder to use for serializing the response body.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.OutgoingWebResponse.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.OutgoingWebResponse" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.OutgoingWebResponse.#ctor(System.Net.HttpWebResponse,System.Int32)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.OutgoingWebResponse" /> class
            based on the contents of an <see cref="T:System.Net.HttpWebResponse" />.
            </summary>
      <param name="response">The <see cref="T:System.Net.HttpWebResponse" /> to clone.</param>
      <param name="maximumBytesToRead">The maximum bytes to read from the response stream.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.OutgoingWebResponse.GetResponseReader">
      <summary>
            Creates a text reader for the response stream.
            </summary>
      <returns>The text reader, initialized for the proper encoding.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.OutgoingWebResponse.Send">
      <summary>
            Automatically sends the appropriate response to the user agent
            and ends execution on the current page or handler.
            </summary>
      <exception cref="T:System.Threading.ThreadAbortException">Typically thrown by ASP.NET in order to prevent additional data from the page being sent to the client and corrupting the response.</exception>
      <remarks>
            Requires a current HttpContext.
            </remarks>
      <requires exception="T:System.InvalidOperationException">HttpContext.Current != null &amp;&amp; HttpContext.Current.Request != null</requires>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null || HttpContext.Current.Request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.OutgoingWebResponse.Send(System.Web.HttpContext)">
      <summary>
            Automatically sends the appropriate response to the user agent
            and ends execution on the current page or handler.
            </summary>
      <param name="context">The context of the HTTP request whose response should be set.
            Typically this is <see cref="P:System.Web.HttpContext.Current" />.</param>
      <exception cref="T:System.Threading.ThreadAbortException">Typically thrown by ASP.NET in order to prevent additional data from the page being sent to the client and corrupting the response.</exception>
      <requires exception="T:System.ArgumentNullException">context != null</requires>
      <exception cref="T:System.ArgumentNullException">context == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.OutgoingWebResponse.Send(System.Net.HttpListenerResponse)">
      <summary>
            Automatically sends the appropriate response to the user agent.
            </summary>
      <param name="response">The response to set to this message.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.OutgoingWebResponse.GetDirectUriRequest(DotNetOpenAuth.Messaging.Channel)">
      <summary>
            Gets the URI that, when requested with an HTTP GET request,
            would transmit the message that normally would be transmitted via a user agent redirect.
            </summary>
      <param name="channel">The channel to use for encoding.</param>
      <returns>
            The URL that would transmit the original message.  This URL may exceed the normal 2K limit,
            and should therefore be broken up manually and POSTed as form fields when it exceeds this length.
            </returns>
      <remarks>
            This is useful for desktop applications that will spawn a user agent to transmit the message
            rather than cause a redirect.
            </remarks>
      <requires exception="T:System.ArgumentNullException">channel != null</requires>
      <exception cref="T:System.ArgumentNullException">channel == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.OutgoingWebResponse.SetResponse(System.String,System.Net.Mime.ContentType)">
      <summary>
            Sets the response to some string, encoded as UTF-8.
            </summary>
      <param name="body">The string to set the response to.</param>
      <param name="contentType">Type of the content.  May be null.</param>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.OutgoingWebResponse.Headers">
      <summary>
            Gets the headers that must be included in the response to the user agent.
            </summary>
      <remarks>
            The headers in this collection are not meant to be a comprehensive list
            of exactly what should be sent, but are meant to augment whatever headers
            are generally included in a typical response.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.OutgoingWebResponse.ResponseStream">
      <summary>
            Gets the body of the HTTP response.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.OutgoingWebResponse.IsResponseTruncated">
      <summary>
            Gets a value indicating whether the response stream is incomplete due
            to a length limitation imposed by the HttpWebRequest or calling method.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.OutgoingWebResponse.Body">
      <summary>
            Gets or sets the body of the response as a string.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.OutgoingWebResponse.Status">
      <summary>
            Gets the HTTP status code to use in the HTTP response.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.OutgoingWebResponse.OriginalMessage">
      <summary>
            Gets or sets a reference to the actual protocol message that
            is being sent via the user agent.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Logger">
      <summary>
            A general logger for the entire DotNetOpenAuth library.
            </summary>
      <remarks>
            Because this logger is intended for use with non-localized strings, the
            overloads that take <see cref="T:System.Globalization.CultureInfo" /> have been removed, and 
            <see cref="P:System.Globalization.CultureInfo.InvariantCulture" /> is used implicitly.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.Logger.library">
      <summary>
            The <see cref="T:DotNetOpenAuth.Loggers.ILog" /> instance that is to be used 
            by this static Logger for the duration of the appdomain.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Logger.yadis">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Logger.Yadis" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Logger.messaging">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Logger.Messaging" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Logger.channel">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Logger.Channel" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Logger.bindings">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Logger.Bindings" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Logger.signatures">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Logger.Signatures" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Logger.http">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Logger.Http" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Logger.controls">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Logger.Controls" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Logger.openId">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Logger.OpenId" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Logger.oauth">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Logger.OAuth" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Logger.infocard">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Logger.InfoCard" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Logger.Create(System.String)">
      <summary>
            Creates an additional logger on demand for a subsection of the application.
            </summary>
      <param name="name">A name that will be included in the log file.</param>
      <returns>The <see cref="T:DotNetOpenAuth.Loggers.ILog" /> instance created with the given name.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(name)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(name)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Logger.CreateWithBanner(System.String)">
      <summary>
            Creates the main logger for the library, and emits an INFO message
            that is the name and version of the library.
            </summary>
      <param name="name">A name that will be included in the log file.</param>
      <returns>The <see cref="T:DotNetOpenAuth.Loggers.ILog" /> instance created with the given name.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(name)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(name)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Logger.Create(System.Type)">
      <summary>
            Creates an additional logger on demand for a subsection of the application.
            </summary>
      <param name="type">A type whose full name that will be included in the log file.</param>
      <returns>The <see cref="T:DotNetOpenAuth.Loggers.ILog" /> instance created with the given type name.</returns>
      <requires exception="T:System.ArgumentNullException">type != null</requires>
      <exception cref="T:System.ArgumentNullException">type == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Logger.InitializeFacade(System.String)">
      <summary>
            Discovers the presence of Log4net.dll and other logging mechanisms
            and returns the best available logger.
            </summary>
      <param name="name">The name of the log to initialize.</param>
      <returns>The <see cref="T:DotNetOpenAuth.Loggers.ILog" /> instance of the logger to use.</returns>
    </member>
    <member name="P:DotNetOpenAuth.Logger.Library">
      <summary>
            Gets the logger for general library logging.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Logger.Yadis">
      <summary>
            Gets the logger for service discovery and selection events.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Logger.Messaging">
      <summary>
            Gets the logger for Messaging events.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Logger.Channel">
      <summary>
            Gets the logger for Channel events.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Logger.Bindings">
      <summary>
            Gets the logger for binding elements and binding-element related events on the channel.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Logger.Signatures">
      <summary>
            Gets the logger specifically used for logging verbose text on everything about the signing process.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Logger.Http">
      <summary>
            Gets the logger for HTTP-level events.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Logger.Controls">
      <summary>
            Gets the logger for events logged by ASP.NET controls.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Logger.OpenId">
      <summary>
            Gets the logger for high-level OpenID events.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Logger.OAuth">
      <summary>
            Gets the logger for high-level OAuth events.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Logger.InfoCard">
      <summary>
            Gets the logger for high-level InfoCard events.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Loggers.ILog">
      <summary>
            The ILog interface is use by application to log messages into
            the log4net framework.
            </summary>
      <remarks>
        <para>
            Use the <see cref="T:log4net.LogManager" /> to obtain logger instances
            that implement this interface. The <see cref="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.Type)" />
            static method is used to get logger instances.
            </para>
        <para>
            This class contains methods for logging at different levels and also
            has properties for determining if those logging levels are
            enabled in the current configuration.
            </para>
        <para>
            This interface can be implemented in different ways. This documentation
            specifies reasonable behavior that a caller can expect from the actual
            implementation, however different implementations reserve the right to
            do things differently.
            </para>
      </remarks>
      <example>Simple example of logging messages
            <code lang="C#">
            ILog log = LogManager.GetLogger("application-log");
            
            log.Info("Application Start");
            log.Debug("This is a debug message");
            
            if (log.IsDebugEnabled)
            {
            	log.Debug("This is another debug message");
            }
            </code></example>
      <seealso cref="T:log4net.LogManager" />
      <seealso cref="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.Type)" />
      <author>Nicko Cadell</author>
      <author>Gert Driesen</author>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object)">
      <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Debug" /> level.</overloads>
      <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Debug" /> level.
            </summary>
      <param name="message">The message object to log.</param>
      <remarks>
        <para>
            This method first checks if this logger is <c>DEBUG</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Debug" /> level. If this logger is
            <c>DEBUG</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer" />. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
        <para>
          <b>WARNING</b> Note that passing an <see cref="T:System.Exception" /> 
            to this method will print the name of the <see cref="T:System.Exception" /> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object,System.Exception)" /> form instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object,System.Exception)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object,System.Exception)">
      <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Debug" /> level including
            the stack trace of the <see cref="T:System.Exception" /> passed
            as a parameter.
            </summary>
      <param name="message">The message object to log.</param>
      <param name="exception">The exception to log, including its stack trace.</param>
      <remarks>
        <para>
            See the <see cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object)" /> form for more detailed information.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.DebugFormat(System.String,System.Object[])">
      <overloads>Log a formatted string with the <see cref="F:log4net.Core.Level.Debug" /> level.</overloads>
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="args">An Object array containing zero or more objects to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.DebugFormat(System.String,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.DebugFormat(System.String,System.Object,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <param name="arg1">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.DebugFormat(System.String,System.Object,System.Object,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <param name="arg1">An Object to format</param>
      <param name="arg2">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object)">
      <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Info" /> level.</overloads>
      <summary>
            Logs a message object with the <see cref="F:log4net.Core.Level.Info" /> level.
            </summary>
      <remarks>
        <para>
            This method first checks if this logger is <c>INFO</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Info" /> level. If this logger is
            <c>INFO</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer" />. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
        <para>
          <b>WARNING</b> Note that passing an <see cref="T:System.Exception" /> 
            to this method will print the name of the <see cref="T:System.Exception" /> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object,System.Exception)" /> form instead.
            </para>
      </remarks>
      <param name="message">The message object to log.</param>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object,System.Exception)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsInfoEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object,System.Exception)">
      <summary>
            Logs a message object with the <c>INFO</c> level including
            the stack trace of the <see cref="T:System.Exception" /> passed
            as a parameter.
            </summary>
      <param name="message">The message object to log.</param>
      <param name="exception">The exception to log, including its stack trace.</param>
      <remarks>
        <para>
            See the <see cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object)" /> form for more detailed information.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsInfoEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.InfoFormat(System.String,System.Object[])">
      <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Info" /> level.</overloads>
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="args">An Object array containing zero or more objects to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object,System.Exception)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsInfoEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.InfoFormat(System.String,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsInfoEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.InfoFormat(System.String,System.Object,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <param name="arg1">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsInfoEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.InfoFormat(System.String,System.Object,System.Object,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <param name="arg1">An Object to format</param>
      <param name="arg2">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsInfoEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object)">
      <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Warn" /> level.</overloads>
      <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Warn" /> level.
            </summary>
      <remarks>
        <para>
            This method first checks if this logger is <c>WARN</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Warn" /> level. If this logger is
            <c>WARN</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer" />. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
        <para>
          <b>WARNING</b> Note that passing an <see cref="T:System.Exception" /> 
            to this method will print the name of the <see cref="T:System.Exception" /> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object,System.Exception)" /> form instead.
            </para>
      </remarks>
      <param name="message">The message object to log.</param>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object,System.Exception)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsWarnEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object,System.Exception)">
      <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Warn" /> level including
            the stack trace of the <see cref="T:System.Exception" /> passed
            as a parameter.
            </summary>
      <param name="message">The message object to log.</param>
      <param name="exception">The exception to log, including its stack trace.</param>
      <remarks>
        <para>
            See the <see cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object)" /> form for more detailed information.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsWarnEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.WarnFormat(System.String,System.Object[])">
      <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Warn" /> level.</overloads>
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="args">An Object array containing zero or more objects to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object,System.Exception)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsWarnEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.WarnFormat(System.String,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsWarnEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.WarnFormat(System.String,System.Object,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <param name="arg1">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsWarnEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.WarnFormat(System.String,System.Object,System.Object,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <param name="arg1">An Object to format</param>
      <param name="arg2">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsWarnEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object)">
      <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Error" /> level.</overloads>
      <summary>
            Logs a message object with the <see cref="F:log4net.Core.Level.Error" /> level.
            </summary>
      <param name="message">The message object to log.</param>
      <remarks>
        <para>
            This method first checks if this logger is <c>ERROR</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Error" /> level. If this logger is
            <c>ERROR</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer" />. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
        <para>
          <b>WARNING</b> Note that passing an <see cref="T:System.Exception" /> 
            to this method will print the name of the <see cref="T:System.Exception" /> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object,System.Exception)" /> form instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object,System.Exception)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsErrorEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object,System.Exception)">
      <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Error" /> level including
            the stack trace of the <see cref="T:System.Exception" /> passed
            as a parameter.
            </summary>
      <param name="message">The message object to log.</param>
      <param name="exception">The exception to log, including its stack trace.</param>
      <remarks>
        <para>
            See the <see cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object)" /> form for more detailed information.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsErrorEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.ErrorFormat(System.String,System.Object[])">
      <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Error" /> level.</overloads>
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="args">An Object array containing zero or more objects to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object,System.Exception)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsErrorEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.ErrorFormat(System.String,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsErrorEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.ErrorFormat(System.String,System.Object,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <param name="arg1">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsErrorEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.ErrorFormat(System.String,System.Object,System.Object,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <param name="arg1">An Object to format</param>
      <param name="arg2">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsErrorEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object)">
      <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Fatal" /> level.</overloads>
      <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Fatal" /> level.
            </summary>
      <remarks>
        <para>
            This method first checks if this logger is <c>FATAL</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Fatal" /> level. If this logger is
            <c>FATAL</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer" />. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
        <para>
          <b>WARNING</b> Note that passing an <see cref="T:System.Exception" /> 
            to this method will print the name of the <see cref="T:System.Exception" /> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object,System.Exception)" /> form instead.
            </para>
      </remarks>
      <param name="message">The message object to log.</param>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object,System.Exception)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsFatalEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object,System.Exception)">
      <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Fatal" /> level including
            the stack trace of the <see cref="T:System.Exception" /> passed
            as a parameter.
            </summary>
      <param name="message">The message object to log.</param>
      <param name="exception">The exception to log, including its stack trace.</param>
      <remarks>
        <para>
            See the <see cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object)" /> form for more detailed information.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsFatalEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.FatalFormat(System.String,System.Object[])">
      <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Fatal" /> level.</overloads>
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="args">An Object array containing zero or more objects to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object,System.Exception)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsFatalEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.FatalFormat(System.String,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsFatalEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.FatalFormat(System.String,System.Object,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <param name="arg1">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsFatalEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.ILog.FatalFormat(System.String,System.Object,System.Object,System.Object)">
      <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal" /> level.
            </summary>
      <param name="format">A String containing zero or more format items</param>
      <param name="arg0">An Object to format</param>
      <param name="arg1">An Object to format</param>
      <param name="arg2">An Object to format</param>
      <remarks>
        <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])" /> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
        <para>
            This method does not take an <see cref="T:System.Exception" /> object to include in the
            log event. To pass an <see cref="T:System.Exception" /> use one of the <see cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object,System.Exception)" />
            methods instead.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsFatalEnabled" />
    </member>
    <member name="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled">
      <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Debug" /> level.
            </summary>
      <value>
        <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Debug" /> events, <c>false</c> otherwise.
            </value>
      <remarks>
        <para>
            This function is intended to lessen the computational cost of
            disabled log debug statements.
            </para>
        <para> For some ILog interface <c>log</c>, when you write:</para>
        <code lang="C#">
            log.Debug("This is entry number: " + i );
            </code>
        <para>
            You incur the cost constructing the message, string construction and concatenation in
            this case, regardless of whether the message is logged or not.
            </para>
        <para>
            If you are worried about speed (who isn't), then you should write:
            </para>
        <code lang="C#">
            if (log.IsDebugEnabled)
            { 
                log.Debug("This is entry number: " + i );
            }
            </code>
        <para>
            This way you will not incur the cost of parameter
            construction if debugging is disabled for <c>log</c>. On
            the other hand, if the <c>log</c> is debug enabled, you
            will incur the cost of evaluating whether the logger is debug
            enabled twice. Once in <see cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" /> and once in
            the <see cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object)" />.  This is an insignificant overhead
            since evaluating a logger takes about 1% of the time it
            takes to actually log. This is the preferred style of logging.
            </para>
        <para>Alternatively if your logger is available statically then the is debug
            enabled state can be stored in a static variable like this:
            </para>
        <code lang="C#">
            private static readonly bool isDebugEnabled = log.IsDebugEnabled;
            </code>
        <para>
            Then when you come to log you can write:
            </para>
        <code lang="C#">
            if (isDebugEnabled)
            { 
                log.Debug("This is entry number: " + i );
            }
            </code>
        <para>
            This way the debug enabled state is only queried once
            when the class is loaded. Using a <c>private static readonly</c>
            variable is the most efficient because it is a run time constant
            and can be heavily optimized by the JIT compiler.
            </para>
        <para>
            Of course if you use a static readonly variable to
            hold the enabled state of the logger then you cannot
            change the enabled state at runtime to vary the logging
            that is produced. You have to decide if you need absolute
            speed or runtime flexibility.
            </para>
      </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Debug(System.Object)" />
    </member>
    <member name="P:DotNetOpenAuth.Loggers.ILog.IsInfoEnabled">
      <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Info" /> level.
            </summary>
      <value>
        <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Info" /> events, <c>false</c> otherwise.
            </value>
      <remarks>
            For more information see <see cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />.
            </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Info(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />
    </member>
    <member name="P:DotNetOpenAuth.Loggers.ILog.IsWarnEnabled">
      <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Warn" /> level.
            </summary>
      <value>
        <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Warn" /> events, <c>false</c> otherwise.
            </value>
      <remarks>
            For more information see <see cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />.
            </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Warn(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />
    </member>
    <member name="P:DotNetOpenAuth.Loggers.ILog.IsErrorEnabled">
      <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Error" /> level.
            </summary>
      <value>
        <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Error" /> events, <c>false</c> otherwise.
            </value>
      <remarks>
            For more information see <see cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />.
            </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Error(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />
    </member>
    <member name="P:DotNetOpenAuth.Loggers.ILog.IsFatalEnabled">
      <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Fatal" /> level.
            </summary>
      <value>
        <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Fatal" /> events, <c>false</c> otherwise.
            </value>
      <remarks>
            For more information see <see cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />.
            </remarks>
      <seealso cref="M:DotNetOpenAuth.Loggers.ILog.Fatal(System.Object)" />
      <seealso cref="P:DotNetOpenAuth.Loggers.ILog.IsDebugEnabled" />
    </member>
    <member name="M:DotNetOpenAuth.Loggers.Log4NetLogger.Initialize(System.String)">
      <summary>
            Returns a new log4net logger if it exists, or returns null if the assembly cannot be found.
            </summary>
      <returns>The created <see cref="T:DotNetOpenAuth.Loggers.ILog" /> instance.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.Log4NetLogger.CreateLogger(System.String)">
      <summary>
            Creates the log4net.LogManager.  Call ONLY after log4net.dll is known to be present.
            </summary>
      <returns>The created <see cref="T:DotNetOpenAuth.Loggers.ILog" /> instance.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.NoOpLogger.Initialize">
      <summary>
            Returns a new logger that does nothing when invoked.
            </summary>
      <returns>The created <see cref="T:DotNetOpenAuth.Loggers.ILog" /> instance.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.Debug(System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.Debug(System.Object,System.Exception)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.DebugFormat(System.String,System.Object[])">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.DebugFormat(System.String,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.DebugFormat(System.String,System.Object,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.DebugFormat(System.String,System.Object,System.Object,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.Info(System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.Info(System.Object,System.Exception)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.InfoFormat(System.String,System.Object[])">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.InfoFormat(System.String,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.InfoFormat(System.String,System.Object,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.InfoFormat(System.String,System.Object,System.Object,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.Warn(System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.Warn(System.Object,System.Exception)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.WarnFormat(System.String,System.Object[])">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.WarnFormat(System.String,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.WarnFormat(System.String,System.Object,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.WarnFormat(System.String,System.Object,System.Object,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.Error(System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.Error(System.Object,System.Exception)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.ErrorFormat(System.String,System.Object[])">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.ErrorFormat(System.String,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.ErrorFormat(System.String,System.Object,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.ErrorFormat(System.String,System.Object,System.Object,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.Fatal(System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.Fatal(System.Object,System.Exception)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.FatalFormat(System.String,System.Object[])">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.FatalFormat(System.String,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.FatalFormat(System.String,System.Object,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.FatalFormat(System.String,System.Object,System.Object,System.Object)">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Loggers.TraceLogger.Initialize(System.String)">
      <summary>
            Returns a new logger that uses the <see cref="T:System.Diagnostics.Trace" /> class 
            if sufficient CAS permissions are granted to use it, otherwise returns false.
            </summary>
      <returns>The created <see cref="T:DotNetOpenAuth.Loggers.ILog" /> instance.</returns>
    </member>
    <member name="P:DotNetOpenAuth.Loggers.TraceLogger.IsDebugEnabled">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Loggers.TraceLogger.IsInfoEnabled">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Loggers.TraceLogger.IsWarnEnabled">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Loggers.TraceLogger.IsErrorEnabled">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Loggers.TraceLogger.IsFatalEnabled">
      <summary>
            See <see cref="T:DotNetOpenAuth.Loggers.ILog" />.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.HttpDeliveryMethods">
      <summary>
            The methods available for the local party to send messages to a remote party.
            </summary>
      <remarks>
            See OAuth 1.0 spec section 5.2.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.HttpDeliveryMethods.None">
      <summary>
            No HTTP methods are allowed.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.HttpDeliveryMethods.AuthorizationHeaderRequest">
      <summary>
            In the HTTP Authorization header as defined in OAuth HTTP Authorization Scheme (OAuth HTTP Authorization Scheme).
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.HttpDeliveryMethods.PostRequest">
      <summary>
            As the HTTP POST request body with a content-type of application/x-www-form-urlencoded.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.HttpDeliveryMethods.GetRequest">
      <summary>
            Added to the URLs in the query part (as defined by [RFC3986] (Berners-Lee, T., “Uniform Resource Identifiers (URI): Generic Syntax,” .) section 3).
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.HttpDeliveryMethods.PutRequest">
      <summary>
            Added to the URLs in the query part (as defined by [RFC3986] (Berners-Lee, T., “Uniform Resource Identifiers (URI): Generic Syntax,” .) section 3).
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.HttpDeliveryMethods.DeleteRequest">
      <summary>
            Added to the URLs in the query part (as defined by [RFC3986] (Berners-Lee, T., “Uniform Resource Identifiers (URI): Generic Syntax,” .) section 3).
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.HttpDeliveryMethods.HeadRequest">
      <summary>
            Added to the URLs in the query part (as defined by [RFC3986] (Berners-Lee, T., “Uniform Resource Identifiers (URI): Generic Syntax,” .) section 3).
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.HttpDeliveryMethods.HttpVerbMask">
      <summary>
            The flags that control HTTP verbs.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.MessageTransport">
      <summary>
            The type of transport mechanism used for a message: either direct or indirect.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessageTransport.Direct">
      <summary>
            A message that is sent directly from the Consumer to the Service Provider, or vice versa.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.MessageTransport.Indirect">
      <summary>
            A message that is sent from one party to another via a redirect in the user agent.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthServiceProviderMessageFactory">
      <summary>
            An OAuth-protocol specific implementation of the <see cref="T:DotNetOpenAuth.Messaging.IMessageFactory" />
            interface.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ChannelElements.OAuthServiceProviderMessageFactory.tokenManager">
      <summary>
            The token manager to use for discerning between request and access tokens.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthServiceProviderMessageFactory.#ctor(DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.OAuthServiceProviderMessageFactory" /> class.
            </summary>
      <param name="tokenManager">The token manager instance to use.</param>
      <requires exception="T:System.ArgumentNullException">tokenManager != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenManager == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthServiceProviderMessageFactory.GetNewRequestMessage(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Analyzes an incoming request message payload to discover what kind of
            message is embedded in it and returns the type, or null if no match is found.
            </summary>
      <param name="recipient">The intended or actual recipient of the request message.</param>
      <param name="fields">The name/value pairs that make up the message payload.</param>
      <returns>
            A newly instantiated <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessage" />-derived object that this message can
            deserialize to.  Null if the request isn't recognized as a valid protocol message.
            </returns>
      <remarks>
            The request messages are:
            UnauthorizedTokenRequest
            AuthorizedTokenRequest
            UserAuthorizationRequest
            AccessProtectedResourceRequest
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewRequestMessage(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IMessageFactory" exception="T:System.ArgumentNullException">recipient != null</requires>
      <exception cref="T:System.ArgumentNullException">recipient == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewRequestMessage(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IMessageFactory" exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.OAuthServiceProviderMessageFactory.GetNewResponseMessage(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Analyzes an incoming request message payload to discover what kind of 
            message is embedded in it and returns the type, or null if no match is found.
            </summary>
      <param name="request">
            The message that was sent as a request that resulted in the response.
            Null on a Consumer site that is receiving an indirect message from the Service Provider.
            </param>
      <param name="fields">The name/value pairs that make up the message payload.</param>
      <returns>
            The <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessage" />-derived concrete class that this message can
            deserialize to.  Null if the request isn't recognized as a valid protocol message.
            </returns>
      <remarks>
            The response messages are:
            None.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewResponseMessage(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IMessageFactory" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewResponseMessage(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IMessageFactory" exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Association">
      <summary>
            Stores a secret used in signing and verifying messages.
            </summary>
      <remarks>
            OpenID associations may be shared between Provider and Relying Party (smart
            associations), or be a way for a Provider to recall its own secret for later
            (dumb associations).
            </remarks>
      <invariant>!string.IsNullOrEmpty(this.Handle)</invariant>
      <invariant>this.TotalLifeLength &gt; TimeSpan.Zero</invariant>
      <invariant>this.SecretKey != null</invariant>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Association.#ctor(System.String,System.Byte[],System.TimeSpan,System.DateTime)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Association" /> class.
            </summary>
      <param name="handle">The handle.</param>
      <param name="secret">The secret.</param>
      <param name="totalLifeLength">How long the association will be useful.</param>
      <param name="issued">The UTC time of when this association was originally issued by the Provider.</param>
      <requires exception="T:System.ArgumentNullException">!string.IsNullOrEmpty(handle)</requires>
      <exception cref="T:System.ArgumentNullException">string.IsNullOrEmpty(handle)</exception>
      <requires exception="T:System.ArgumentNullException">secret != null</requires>
      <exception cref="T:System.ArgumentNullException">secret == null</exception>
      <requires exception="T:System.ArgumentOutOfRangeException">totalLifeLength &gt; TimeSpan.Zero</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">totalLifeLength &lt;= TimeSpan.Zero</exception>
      <requires exception="T:System.ArgumentException">issued.Kind == DateTimeKind.Utc</requires>
      <exception cref="T:System.ArgumentException">issued.Kind != DateTimeKind.Utc</exception>
      <requires exception="T:System.ArgumentOutOfRangeException">issued &lt;= DateTime.UtcNow</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">issued &gt; DateTime.UtcNow</exception>
      <ensures>this.TotalLifeLength == totalLifeLength</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Association.Deserialize(System.String,System.DateTime,System.Byte[])">
      <summary>
            Re-instantiates an <see cref="T:DotNetOpenAuth.OpenId.Association" /> previously persisted in a database or some
            other shared store.
            </summary>
      <param name="handle">
            The <see cref="P:DotNetOpenAuth.OpenId.Association.Handle" /> property of the previous <see cref="T:DotNetOpenAuth.OpenId.Association" /> instance.
            </param>
      <param name="expiresUtc">
            The UTC value of the <see cref="P:DotNetOpenAuth.OpenId.Association.Expires" /> property of the previous <see cref="T:DotNetOpenAuth.OpenId.Association" /> instance.
            </param>
      <param name="privateData">
            The byte array returned by a call to <see cref="M:DotNetOpenAuth.OpenId.Association.SerializePrivateData" /> on the previous
            <see cref="T:DotNetOpenAuth.OpenId.Association" /> instance.
            </param>
      <returns>
            The newly dehydrated <see cref="T:DotNetOpenAuth.OpenId.Association" />, which can be returned
            from a custom association store's 
            <see cref="M:DotNetOpenAuth.OpenId.IAssociationStore`1.GetAssociation(`0,DotNetOpenAuth.OpenId.SecuritySettings)" /> method.
            </returns>
      <requires exception="T:System.ArgumentNullException">!String.IsNullOrEmpty(handle)</requires>
      <exception cref="T:System.ArgumentNullException">String.IsNullOrEmpty(handle)</exception>
      <requires exception="T:System.ArgumentNullException">privateData != null</requires>
      <exception cref="T:System.ArgumentNullException">privateData == null</exception>
      <ensures>Contract.Result&lt;Association&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Association.SerializePrivateData">
      <summary>
            Returns private data required to persist this <see cref="T:DotNetOpenAuth.OpenId.Association" /> in
            permanent storage (a shared database for example) for deserialization later.
            </summary>
      <returns>
            An opaque byte array that must be stored and returned exactly as it is provided here.
            The byte array may vary in length depending on the specific type of <see cref="T:DotNetOpenAuth.OpenId.Association" />,
            but in current versions are no larger than 256 bytes.
            </returns>
      <remarks>
            Values of public properties on the base class <see cref="T:DotNetOpenAuth.OpenId.Association" /> are not included
            in this byte array, as they are useful for fast database lookup and are persisted separately.
            </remarks>
      <ensures>Contract.Result&lt;byte[]&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Association.Equals(System.Object)">
      <summary>
            Tests equality of two <see cref="T:DotNetOpenAuth.OpenId.Association" /> objects.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Association.GetHashCode">
      <summary>
            Returns the hash code.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Association.GetAssociationType(DotNetOpenAuth.OpenId.Protocol)">
      <summary>
            The string to pass as the assoc_type value in the OpenID protocol.
            </summary>
      <param name="protocol">The protocol version of the message that the assoc_type value will be included in.</param>
      <returns>The value that should be used for  the openid.assoc_type parameter.</returns>
      <requires exception="T:System.ArgumentNullException">protocol != null</requires>
      <exception cref="T:System.ArgumentNullException">protocol == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Association.Sign(System.Byte[])">
      <summary>
            Generates a signature from a given blob of data.
            </summary>
      <param name="data">The data to sign.  This data will not be changed (the signature is the return value).</param>
      <returns>The calculated signature of the data.</returns>
      <requires exception="T:System.ArgumentNullException">data != null</requires>
      <exception cref="T:System.ArgumentNullException">data == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Association.CreateHasher">
      <summary>
            Returns the specific hash algorithm used for message signing.
            </summary>
      <returns>The hash algorithm used for message signing.</returns>
      <ensures>Contract.Result&lt;HashAlgorithm&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Association.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Association.Handle">
      <summary>
            Gets a unique handle by which this <see cref="T:DotNetOpenAuth.OpenId.Association" /> may be stored or retrieved.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Association.Expires">
      <summary>
            Gets the UTC time when this <see cref="T:DotNetOpenAuth.OpenId.Association" /> will expire.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Association.IsExpired">
      <summary>
            Gets a value indicating whether this <see cref="T:DotNetOpenAuth.OpenId.Association" /> has already expired.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Association.HashBitLength">
      <summary>
            Gets the length (in bits) of the hash this association creates when signing.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;int&gt;() &gt; 0</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Association.HasUsefulLifeRemaining">
      <summary>
            Gets a value indicating whether this instance has useful life remaining.
            </summary>
      <value>
        <c>true</c> if this instance has useful life remaining; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Association.Issued">
      <summary>
            Gets or sets the UTC time that this <see cref="T:DotNetOpenAuth.OpenId.Association" /> was first created.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Association.SecondsTillExpiration">
      <summary>
            Gets the number of seconds until this <see cref="T:DotNetOpenAuth.OpenId.Association" /> expires.
            Never negative (counter runs to zero).
            </summary>
      <getter>
        <ensures>Contract.Result&lt;long&gt;() &gt;= 0</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Association.SecretKey">
      <summary>
            Gets the shared secret key between the consumer and provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Association.DumbSecretLifetime">
      <summary>
            Gets the duration a secret key used for signing dumb client requests will be good for.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;TimeSpan&gt;() &gt; TimeSpan.Zero</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Association.TotalLifeLength">
      <summary>
            Gets the lifetime the OpenID provider permits this <see cref="T:DotNetOpenAuth.OpenId.Association" />.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Association.MinimumUsefulAssociationLifetime">
      <summary>
            Gets the minimum lifetime an association must still be good for in order for it to be used for a future authentication.
            </summary>
      <remarks>
            Associations that are not likely to last the duration of a user login are not worth using at all.
            </remarks>
      <getter>
        <ensures>Contract.Result&lt;TimeSpan&gt;() &gt; TimeSpan.Zero</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Association.TimeTillExpiration">
      <summary>
            Gets the TimeSpan till this association expires.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.AssociationMemoryStore`1">
      <summary>
            Manages a set of associations in memory only (no database).
            </summary>
      <typeparam name="TKey">The type of the key.</typeparam>
      <remarks>
            This class should be used for low-to-medium traffic relying party sites that can afford to lose associations
            if the app pool was ever restarted.  High traffic relying parties and providers should write their own
            implementation of <see cref="T:DotNetOpenAuth.OpenId.IAssociationStore`1" /> that works against their own database schema
            to allow for persistance and recall of associations across servers in a web farm and server restarts.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.IAssociationStore`1">
      <summary>
            Stores <see cref="T:DotNetOpenAuth.OpenId.Association" />s for lookup by their handle, keeping
            associations separated by a given distinguishing factor (like which server the
            association is with).
            </summary>
      <typeparam name="TKey">
        <see cref="T:System.Uri" /> for consumers (to distinguish associations across servers) or
            <see cref="T:DotNetOpenAuth.OpenId.AssociationRelyingPartyType" /> for providers (to distinguish dumb and smart client associations).
            </typeparam>
      <remarks>
            Expired associations should be periodically cleared out of an association store.
            This should be done frequently enough to avoid a memory leak, but sparingly enough
            to not be a performance drain.  Because this balance can vary by host, it is the
            responsibility of the host to initiate this cleaning.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IAssociationStore`1.StoreAssociation(`0,DotNetOpenAuth.OpenId.Association)">
      <summary>
            Saves an <see cref="T:DotNetOpenAuth.OpenId.Association" /> for later recall.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for providers).</param>
      <param name="association">The association to store.</param>
      <remarks>
            TODO: what should implementations do on association handle conflict?
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IAssociationStore`1.GetAssociation(`0,DotNetOpenAuth.OpenId.SecuritySettings)">
      <summary>
            Gets the best association (the one with the longest remaining life) for a given key.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for Providers).</param>
      <param name="securityRequirements">The security requirements that the returned association must meet.</param>
      <returns>
            The requested association, or null if no unexpired <see cref="T:DotNetOpenAuth.OpenId.Association" />s exist for the given key.
            </returns>
      <remarks>
            In the event that multiple associations exist for the given 
            <paramref name="distinguishingFactor" />, it is important for the 
            implementation for this method to use the <paramref name="securityRequirements" />
            to pick the best (highest grade or longest living as the host's policy may dictate)
            association that fits the security requirements.
            Associations that are returned that do not meet the security requirements will be
            ignored and a new association created.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IAssociationStore`1.GetAssociation(`0,System.String)">
      <summary>
            Gets the association for a given key and handle.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for Providers).</param>
      <param name="handle">The handle of the specific association that must be recalled.</param>
      <returns>The requested association, or null if no unexpired <see cref="T:DotNetOpenAuth.OpenId.Association" />s exist for the given key and handle.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IAssociationStore`1.RemoveAssociation(`0,System.String)">
      <summary>Removes a specified handle that may exist in the store.</summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for Providers).</param>
      <param name="handle">The handle of the specific association that must be deleted.</param>
      <returns>True if the association existed in this store previous to this call.</returns>
      <remarks>
            No exception should be thrown if the association does not exist in the store
            before this call.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.AssociationMemoryStore`1.PeriodicCleaningFrequency">
      <summary>
            How many association store requests should occur between each spring cleaning.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.AssociationMemoryStore`1.serverAssocsTable">
      <summary>
            For Relying Parties, this maps OP Endpoints to a set of associations with that endpoint.
            For Providers, this keeps smart and dumb associations in two distinct pools.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.AssociationMemoryStore`1.periodicCleaning">
      <summary>
            A counter to track how close we are to an expired association cleaning run.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.AssociationMemoryStore`1.StoreAssociation(`0,DotNetOpenAuth.OpenId.Association)">
      <summary>
            Stores a given association for later recall.
            </summary>
      <param name="distinguishingFactor">The distinguishing factor, either an OP Endpoint or smart/dumb mode.</param>
      <param name="association">The association to store.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.AssociationMemoryStore`1.GetAssociation(`0,DotNetOpenAuth.OpenId.SecuritySettings)">
      <summary>
            Gets the best association (the one with the longest remaining life) for a given key.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for Providers).</param>
      <param name="securitySettings">The security settings.</param>
      <returns>
            The requested association, or null if no unexpired <see cref="T:DotNetOpenAuth.OpenId.Association" />s exist for the given key.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.AssociationMemoryStore`1.GetAssociation(`0,System.String)">
      <summary>
            Gets the association for a given key and handle.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for Providers).</param>
      <param name="handle">The handle of the specific association that must be recalled.</param>
      <returns>
            The requested association, or null if no unexpired <see cref="T:DotNetOpenAuth.OpenId.Association" />s exist for the given key and handle.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.AssociationMemoryStore`1.RemoveAssociation(`0,System.String)">
      <summary>
            Removes a specified handle that may exist in the store.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for Providers).</param>
      <param name="handle">The handle of the specific association that must be deleted.</param>
      <returns>
            True if the association existed in this store previous to this call.
            </returns>
      <remarks>
            No exception should be thrown if the association does not exist in the store
            before this call.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.AssociationMemoryStore`1.GetServerAssociations(`0)">
      <summary>
            Gets the server associations for a given OP Endpoint or dumb/smart mode.
            </summary>
      <param name="distinguishingFactor">The distinguishing factor, either an OP Endpoint (for relying parties) or smart/dumb (for providers).</param>
      <returns>The collection of associations that fit the <paramref name="distinguishingFactor" />.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.AssociationMemoryStore`1.ClearExpiredAssociations">
      <summary>
            Clears all expired associations from the store.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Associations">
      <summary>
            A dictionary of handle/Association pairs.
            </summary>
      <remarks>
            Each method is locked, even if it is only one line, so that they are thread safe
            against each other, particularly the ones that enumerate over the list, since they
            can break if the collection is changed by another thread during enumeration.
            </remarks>
      <invariant>this.associations != null</invariant>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Associations.associations">
      <summary>
            The lookup table where keys are the association handles and values are the associations themselves.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Associations.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Associations" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Associations.Set(DotNetOpenAuth.OpenId.Association)">
      <summary>
            Stores an <see cref="T:DotNetOpenAuth.OpenId.Association" /> in the collection.
            </summary>
      <param name="association">The association to add to the collection.</param>
      <requires exception="T:System.ArgumentNullException">association != null</requires>
      <exception cref="T:System.ArgumentNullException">association == null</exception>
      <ensures>this.Get(association.Handle) == association</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Associations.Get(System.String)">
      <summary>
            Returns the <see cref="T:DotNetOpenAuth.OpenId.Association" /> with the given handle.  Null if not found.
            </summary>
      <param name="handle">The handle to the required association.</param>
      <returns>The desired association, or null if none with the given handle could be found.</returns>
      <pure />
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(handle)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(handle)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Associations.Remove(System.String)">
      <summary>
            Removes the <see cref="T:DotNetOpenAuth.OpenId.Association" /> with the given handle.
            </summary>
      <param name="handle">The handle to the required association.</param>
      <returns>Whether an <see cref="T:DotNetOpenAuth.OpenId.Association" /> with the given handle was in the collection for removal.</returns>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(handle)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(handle)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Associations.ClearExpired">
      <summary>
            Removes all expired associations from the collection.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Associations.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Associations.Best">
      <summary>
            Gets the <see cref="T:DotNetOpenAuth.OpenId.Association" />s ordered in order of descending issue date
            (most recently issued comes first).  An empty sequence if no valid associations exist.
            </summary>
      <remarks>
            This property is used by relying parties that are initiating authentication requests.
            It does not apply to Providers, which always need a specific association by handle.
            </remarks>
      <getter>
        <ensures>Contract.Result&lt;IEnumerable&lt;Association&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform">
      <summary>
            An Attribute Exchange and Simple Registration filter to make all incoming attribute 
            requests look like Simple Registration requests, and to convert the response
            to the originally requested extension and format.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior">
      <summary>
            Applies a custom security policy to certain OpenID security settings and behaviors.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior.ApplySecuritySettings(DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings)">
      <summary>
            Applies a well known set of security requirements to a default set of security settings.
            </summary>
      <param name="securitySettings">The security settings to enhance with the requirements of this profile.</param>
      <remarks>
            Care should be taken to never decrease security when applying a profile.
            Profiles should only enhance security requirements to avoid being
            incompatible with each other.
            </remarks>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior.OnOutgoingAuthenticationRequest(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Called when an authentication request is about to be sent.
            </summary>
      <param name="request">The request.</param>
      <remarks>
            Implementations should be prepared to be called multiple times on the same outgoing message
            without malfunctioning.
            </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior.OnIncomingPositiveAssertion(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Called when an incoming positive assertion is received.
            </summary>
      <param name="assertion">The positive assertion.</param>
      <requires exception="T:System.ArgumentNullException">assertion != null</requires>
      <exception cref="T:System.ArgumentNullException">assertion == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IProviderBehavior">
      <summary>
            Applies a custom security policy to certain OpenID security settings and behaviors.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IProviderBehavior.ApplySecuritySettings(DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Applies a well known set of security requirements to a default set of security settings.
            </summary>
      <param name="securitySettings">The security settings to enhance with the requirements of this profile.</param>
      <remarks>
            Care should be taken to never decrease security when applying a profile.
            Profiles should only enhance security requirements to avoid being
            incompatible with each other.
            </remarks>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IProviderBehavior.OnIncomingRequest(DotNetOpenAuth.OpenId.Provider.IRequest)">
      <summary>
            Called when a request is received by the Provider.
            </summary>
      <param name="request">The incoming request.</param>
      <returns>
        <c>true</c> if this behavior owns this request and wants to stop other behaviors
            from handling it; <c>false</c> to allow other behaviors to process this request.
            </returns>
      <remarks>
            Implementations may set a new value to <see cref="P:DotNetOpenAuth.OpenId.Provider.IRequest.SecuritySettings" /> but
            should not change the properties on the instance of <see cref="T:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings" />
            itself as that instance may be shared across many requests.
            </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IProviderBehavior.OnOutgoingResponse(DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest)">
      <summary>
            Called when the Provider is preparing to send a response to an authentication request.
            </summary>
      <param name="request">The request that is configured to generate the outgoing response.</param>
      <returns>
        <c>true</c> if this behavior owns this request and wants to stop other behaviors
            from handling it; <c>false</c> to allow other behaviors to process this request.
            </returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform.#cctor">
      <summary>
            Initializes static members of the <see cref="T:DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform.DotNetOpenAuth#OpenId#RelyingParty#IRelyingPartyBehavior#ApplySecuritySettings(DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings)">
      <summary>
            Applies a well known set of security requirements to a default set of security settings.
            </summary>
      <param name="securitySettings">The security settings to enhance with the requirements of this profile.</param>
      <remarks>
            Care should be taken to never decrease security when applying a profile.
            Profiles should only enhance security requirements to avoid being
            incompatible with each other.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior.ApplySecuritySettings(DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings)" inheritedFromTypeName="IRelyingPartyBehavior" exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform.DotNetOpenAuth#OpenId#RelyingParty#IRelyingPartyBehavior#OnOutgoingAuthenticationRequest(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Called when an authentication request is about to be sent.
            </summary>
      <param name="request">The request.</param>
      <remarks>
            Implementations should be prepared to be called multiple times on the same outgoing message
            without malfunctioning.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior.OnOutgoingAuthenticationRequest(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)" inheritedFromTypeName="IRelyingPartyBehavior" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform.DotNetOpenAuth#OpenId#RelyingParty#IRelyingPartyBehavior#OnIncomingPositiveAssertion(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Called when an incoming positive assertion is received.
            </summary>
      <param name="assertion">The positive assertion.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior.OnIncomingPositiveAssertion(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)" inheritedFromTypeName="IRelyingPartyBehavior" exception="T:System.ArgumentNullException">assertion != null</requires>
      <exception cref="T:System.ArgumentNullException">assertion == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform.DotNetOpenAuth#OpenId#Provider#IProviderBehavior#ApplySecuritySettings(DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Applies a well known set of security requirements to a default set of security settings.
            </summary>
      <param name="securitySettings">The security settings to enhance with the requirements of this profile.</param>
      <remarks>
            Care should be taken to never decrease security when applying a profile.
            Profiles should only enhance security requirements to avoid being
            incompatible with each other.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IProviderBehavior.ApplySecuritySettings(DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)" inheritedFromTypeName="IProviderBehavior" exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform.DotNetOpenAuth#OpenId#Provider#IProviderBehavior#OnIncomingRequest(DotNetOpenAuth.OpenId.Provider.IRequest)">
      <summary>
            Called when a request is received by the Provider.
            </summary>
      <param name="request">The incoming request.</param>
      <returns>
        <c>true</c> if this behavior owns this request and wants to stop other behaviors
            from handling it; <c>false</c> to allow other behaviors to process this request.
            </returns>
      <remarks>
            Implementations may set a new value to <see cref="P:DotNetOpenAuth.OpenId.Provider.IRequest.SecuritySettings" /> but
            should not change the properties on the instance of <see cref="T:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings" />
            itself as that instance may be shared across many requests.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IProviderBehavior.OnIncomingRequest(DotNetOpenAuth.OpenId.Provider.IRequest)" inheritedFromTypeName="IProviderBehavior" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform.DotNetOpenAuth#OpenId#Provider#IProviderBehavior#OnOutgoingResponse(DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest)">
      <summary>
            Called when the Provider is preparing to send a response to an authentication request.
            </summary>
      <param name="request">The request that is configured to generate the outgoing response.</param>
      <returns>
        <c>true</c> if this behavior owns this request and wants to stop other behaviors
            from handling it; <c>false</c> to allow other behaviors to process this request.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IProviderBehavior.OnOutgoingResponse(DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest)" inheritedFromTypeName="IProviderBehavior" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform.AXFormats">
      <summary>
            Gets or sets the AX attribute type URI formats this transform is willing to work with.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Behaviors.BehaviorStrings">
      <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.BehaviorStrings.ResourceManager">
      <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.BehaviorStrings.Culture">
      <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.BehaviorStrings.PapeRequestMissingRequiredPolicies">
      <summary>
              Looks up a localized string similar to The PAPE request has an incomplete set of authentication policies..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.BehaviorStrings.PapeResponseOrRequiredPoliciesMissing">
      <summary>
              Looks up a localized string similar to A PAPE response is missing or is missing required policies..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.BehaviorStrings.PiiIncludedWithNoPiiPolicy">
      <summary>
              Looks up a localized string similar to No personally identifiable information should be included in authentication responses when the PAPE authentication policy http://www.idmanagement.gov/schema/2009/05/icam/no-pii.pdf is present..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.BehaviorStrings.PiiRequestedWithNoPiiPolicy">
      <summary>
              Looks up a localized string similar to No personally identifiable information should be requested when the http://www.idmanagement.gov/schema/2009/05/icam/no-pii.pdf PAPE policy is present..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.BehaviorStrings.PpidProviderNotGiven">
      <summary>
              Looks up a localized string similar to No PPID provider has been configured..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.BehaviorStrings.RealmDiscoveryNotPerformed">
      <summary>
              Looks up a localized string similar to Discovery on the Realm URL MUST be performed before sending a positive assertion..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.BehaviorStrings.RealmMustBeHttps">
      <summary>
              Looks up a localized string similar to The Realm in an authentication request must be an HTTPS URL..
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Behaviors.PpidGeneration">
      <summary>
            Offers OpenID Providers automatic PPID Claimed Identifier generation when requested
            by a PAPE request.
            </summary>
      <remarks>
        <para>PPIDs are set on positive authentication responses when the PAPE request includes
            the <see cref="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.AuthenticationPolicies.PrivatePersonalIdentifier" /> authentication policy.</para>
        <para>The static member <see cref="P:DotNetOpenAuth.OpenId.Behaviors.PpidGeneration.PpidIdentifierProvider" /> MUST
            be set prior to any PPID requests come in.  Typically this should be set in the
            <c>Application_Start</c> method in the global.asax.cs file.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.PpidGeneration.DotNetOpenAuth#OpenId#Provider#IProviderBehavior#ApplySecuritySettings(DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Applies a well known set of security requirements to a default set of security settings.
            </summary>
      <param name="securitySettings">The security settings to enhance with the requirements of this profile.</param>
      <remarks>
            Care should be taken to never decrease security when applying a profile.
            Profiles should only enhance security requirements to avoid being
            incompatible with each other.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IProviderBehavior.ApplySecuritySettings(DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)" inheritedFromTypeName="IProviderBehavior" exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.PpidGeneration.DotNetOpenAuth#OpenId#Provider#IProviderBehavior#OnIncomingRequest(DotNetOpenAuth.OpenId.Provider.IRequest)">
      <summary>
            Called when a request is received by the Provider.
            </summary>
      <param name="request">The incoming request.</param>
      <returns>
        <c>true</c> if this behavior owns this request and wants to stop other behaviors
            from handling it; <c>false</c> to allow other behaviors to process this request.
            </returns>
      <remarks>
            Implementations may set a new value to <see cref="P:DotNetOpenAuth.OpenId.Provider.IRequest.SecuritySettings" /> but
            should not change the properties on the instance of <see cref="T:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings" />
            itself as that instance may be shared across many requests.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IProviderBehavior.OnIncomingRequest(DotNetOpenAuth.OpenId.Provider.IRequest)" inheritedFromTypeName="IProviderBehavior" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.PpidGeneration.DotNetOpenAuth#OpenId#Provider#IProviderBehavior#OnOutgoingResponse(DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest)">
      <summary>
            Called when the Provider is preparing to send a response to an authentication request.
            </summary>
      <param name="request">The request that is configured to generate the outgoing response.</param>
      <returns>
        <c>true</c> if this behavior owns this request and wants to stop other behaviors
            from handling it; <c>false</c> to allow other behaviors to process this request.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IProviderBehavior.OnOutgoingResponse(DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest)" inheritedFromTypeName="IProviderBehavior" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.PpidGeneration.PpidIdentifierProvider">
      <summary>
            Gets or sets the provider for generating PPID identifiers.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElement">
      <summary>
            Provides a mechanism for Relying Parties to work with OpenID 1.0 Providers
            without losing claimed_id and op_endpoint data, which OpenID 2.0 Providers
            are required to send back with positive assertions.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElement.ProviderEndpointParameterName">
      <summary>
            The "dnoa.op_endpoint" callback parameter that stores the Provider Endpoint URL
            to tack onto the return_to URI.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElement.ClaimedIdentifierParameterName">
      <summary>
            The "dnoa.claimed_id" callback parameter that stores the Claimed Identifier
            to tack onto the return_to URI.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElement.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
      <value />
      <remarks>
            This property is set by the channel when it is first constructed.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElement.Protection">
      <summary>
            Gets the protection offered (if any) by this binding element.
            </summary>
      <value>
        <see cref="F:DotNetOpenAuth.Messaging.MessageProtections.None" />
      </value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement">
      <summary>
            The binding element that serializes/deserializes OpenID extensions to/from
            their carrying OpenID messages.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement.relyingPartySecuritySettings">
      <summary>
            The security settings that apply to this relying party, if it is a relying party.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement.#ctor(DotNetOpenAuth.OpenId.ChannelElements.IOpenIdExtensionFactory,DotNetOpenAuth.OpenId.SecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement" /> class.
            </summary>
      <param name="extensionFactory">The extension factory.</param>
      <param name="securitySettings">The security settings.</param>
      <requires exception="T:System.ArgumentNullException">extensionFactory != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionFactory == null</exception>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement.GetExtensions(DotNetOpenAuth.Messaging.IProtocolMessageWithExtensions,System.Boolean,System.Func{System.String,System.Boolean})">
      <summary>
            Gets the extensions on a message.
            </summary>
      <param name="message">The carrier of the extensions.</param>
      <param name="ignoreUnsigned">If set to <c>true</c> only signed extensions will be available.</param>
      <param name="extensionFilter">A optional filter that takes an extension type URI and 
            returns a value indicating whether that extension should be deserialized and 
            returned in the sequence.  May be null.</param>
      <returns>A sequence of extensions in the message.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement.GetExtensionsDictionary(DotNetOpenAuth.Messaging.IProtocolMessage,System.Boolean)">
      <summary>
            Gets the dictionary of message parts that should be deserialized into extensions.
            </summary>
      <param name="message">The message.</param>
      <param name="ignoreUnsigned">If set to <c>true</c> only signed extensions will be available.</param>
      <returns>
            A dictionary of message parts, including only signed parts when appropriate.
            </returns>
      <requires exception="T:System.InvalidOperationException">this.Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">this.Channel == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
      <value />
      <remarks>
            This property is set by the channel when it is first constructed.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement.ExtensionFactory">
      <summary>
            Gets the extension factory.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement.Protection">
      <summary>
            Gets the protection offered (if any) by this binding element.
            </summary>
      <value>
        <see cref="F:DotNetOpenAuth.Messaging.MessageProtections.None" />
      </value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.IOpenIdExtensionFactory">
      <summary>
            OpenID extension factory class for creating extensions based on received Type URIs.
            </summary>
      <remarks>
            OpenID extension factories must be registered with the library.  This can be
            done by adding a factory to <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.ExtensionFactories" />
            or <see cref="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.ExtensionFactories" />, or by adding a snippet
            such as the following to your web.config file:
            <example>
              &lt;dotNetOpenAuth&gt;
                &lt;openid&gt;
                  &lt;extensionFactories&gt;
                    &lt;add type="DotNetOpenAuth.ApplicationBlock.CustomExtensions.Acme, DotNetOpenAuth.ApplicationBlock" /&gt;
                  &lt;/extensionFactories&gt;
                &lt;/openid&gt;
              &lt;/dotNetOpenAuth&gt;
            </example></remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.IOpenIdExtensionFactory.Create(System.String,System.Collections.Generic.IDictionary{System.String,System.String},DotNetOpenAuth.Messaging.IProtocolMessageWithExtensions,System.Boolean)">
      <summary>
            Creates a new instance of some extension based on the received extension parameters.
            </summary>
      <param name="typeUri">The type URI of the extension.</param>
      <param name="data">The parameters associated specifically with this extension.</param>
      <param name="baseMessage">The OpenID message carrying this extension.</param>
      <param name="isProviderRole">A value indicating whether this extension is being received at the OpenID Provider.</param>
      <returns>
            An instance of <see cref="T:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension" /> if the factory recognizes
            the extension described in the input parameters; <c>null</c> otherwise.
            </returns>
      <remarks>
            This factory method need only initialize properties in the instantiated extension object
            that are not bound using <see cref="T:DotNetOpenAuth.Messaging.MessagePartAttribute" />.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.ITamperResistantOpenIdMessage">
      <summary>
            An interface that OAuth messages implement to support signing.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ITamperResistantOpenIdMessage.AssociationHandle">
      <summary>
            Gets or sets the association handle used to sign the message.
            </summary>
      <value>The handle for the association that was used to sign this assertion. </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ITamperResistantOpenIdMessage.InvalidateHandle">
      <summary>
            Gets or sets the association handle that the Provider wants the Relying Party to not use any more.
            </summary>
      <value>If the Relying Party sent an invalid association handle with the request, it SHOULD be included here.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ITamperResistantOpenIdMessage.SignedParameterOrder">
      <summary>
            Gets or sets the signed parameter order.
            </summary>
      <value>Comma-separated list of signed fields.</value>
      <example>"op_endpoint,identity,claimed_id,return_to,assoc_handle,response_nonce"</example>
      <remarks>
            This entry consists of the fields without the "openid." prefix that the signature covers. 
            This list MUST contain at least "op_endpoint", "return_to" "response_nonce" and "assoc_handle", 
            and if present in the response, "claimed_id" and "identity". 
            Additional keys MAY be signed as part of the message. See Generating Signatures.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.OriginalStringUriEncoder">
      <summary>
            A Uri encoder that serializes using <see cref="P:System.Uri.OriginalString" />
            rather than the standard <see cref="P:System.Uri.AbsoluteUri" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OriginalStringUriEncoder.Encode(System.Object)">
      <summary>
            Encodes the specified value.
            </summary>
      <param name="value">The value.  Guaranteed to never be null.</param>
      <returns>
            The <paramref name="value" /> in string form, ready for message transport.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder.Encode(System.Object)" inheritedFromTypeName="IMessagePartEncoder" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OriginalStringUriEncoder.Decode(System.String)">
      <summary>
            Decodes the specified value.
            </summary>
      <param name="value">The string value carried by the transport.  Guaranteed to never be null, although it may be empty.</param>
      <returns>
            The deserialized form of the given string.
            </returns>
      <exception cref="T:System.FormatException">Thrown when the string value given cannot be decoded into the required object type.</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder.Decode(System.String)" inheritedFromTypeName="IMessagePartEncoder" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptions">
      <summary>
            Helps ensure compliance to some properties in the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings" />.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptions.securitySettings">
      <summary>
            The security settings that are active on the relying party.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptions.#ctor(DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptions" /> class.
            </summary>
      <param name="securitySettings">The security settings.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptions.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptions.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptions.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
      <remarks>
            This property is set by the channel when it is first constructed.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptions.Protection">
      <summary>
            Gets the protection commonly offered (if any) by this binding element.
            </summary>
      <remarks>
            This value is used to assist in sorting binding elements in the channel stack.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement">
      <summary>
            This binding element adds a nonce to a Relying Party's outgoing 
            authentication request when working against an OpenID 1.0 Provider
            in order to protect against replay attacks or on all authentication
            requests to distinguish solicited from unsolicited assertions.
            </summary>
      <remarks>
        <para>This nonce goes beyond the OpenID 1.x spec, but adds to security.
            Since this library's Provider implementation also provides special nonce
            protection for 1.0 messages, this security feature overlaps with that one.
            This means that if an RP from this library were talking to an OP from this
            library, but the Identifier being authenticated advertised the OP as a 1.x
            OP, then both RP and OP might try to use a nonce for protecting the assertion.
            There's no problem with that--it will still all work out.  And it would be a 
            very rare combination of elements anyway.
            </para>
        <para>
            This binding element deactivates itself for OpenID 2.0 (or later) messages 
            since they are automatically protected in the protocol by the Provider's
            openid.response_nonce parameter.  The exception to this is when
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.RejectUnsolicitedAssertions" /> is
            set to <c>true</c>, which will not only add a request nonce to every outgoing
            authentication request but also require that it be present in positive
            assertions, effectively disabling unsolicited assertions.
            </para>
        <para>In the messaging stack, this binding element looks like an ordinary
            transform-type of binding element rather than a protection element,
            due to its required order in the channel stack and that it exists
            only on the RP side and only on some messages.</para>
      </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.NonceParameter">
      <summary>
            The parameter of the callback parameter we tack onto the return_to URL
            to store the replay-detection nonce.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.NonceByteLength">
      <summary>
            The length of the generated nonce's random part.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.nonceStore">
      <summary>
            The nonce store that will allow us to recall which nonces we've seen before.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.securitySettings">
      <summary>
            The security settings at the RP.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.channel">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.Channel" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.#ctor(DotNetOpenAuth.Messaging.Bindings.INonceStore,DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement" /> class.
            </summary>
      <param name="nonceStore">The nonce store to use.</param>
      <param name="securitySettings">The security settings of the RP.</param>
      <requires exception="T:System.ArgumentNullException">nonceStore != null</requires>
      <exception cref="T:System.ArgumentNullException">nonceStore == null</exception>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.UseRequestNonce(DotNetOpenAuth.Messaging.IMessage)">
      <summary>
            Determines whether a request nonce should be applied the request
            or should be expected in the response.
            </summary>
      <param name="message">The authentication request or the positive assertion response.</param>
      <returns>
        <c>true</c> if the message exchanged with an OpenID 1.x provider
            or if unsolicited assertions should be rejected at the RP; otherwise <c>false</c>.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
      <remarks>
            This property is set by the channel when it is first constructed.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.Protection">
      <summary>
            Gets the protection offered (if any) by this binding element.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.MaximumMessageAge">
      <summary>
            Gets the maximum message age from the standard expiration binding element.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.CustomNonce">
      <summary>
            A special DotNetOpenAuth-only nonce used by the RP when talking to 1.0 OPs in order
            to protect against replay attacks.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.CustomNonce.randomPart">
      <summary>
            The random bits generated for the nonce.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.CustomNonce.#ctor(System.DateTime,System.Byte[])">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.CustomNonce" /> class.
            </summary>
      <param name="creationDate">The creation date of the nonce.</param>
      <param name="randomPart">The random bits that help make the nonce unique.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.CustomNonce.NewNonce">
      <summary>
            Creates a new nonce.
            </summary>
      <returns>The newly instantiated instance.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.CustomNonce.Deserialize(System.String)">
      <summary>
            Deserializes a nonce from the return_to parameter.
            </summary>
      <param name="value">The base64-encoded value of the nonce.</param>
      <returns>The instantiated and initialized nonce.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(value)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(value)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.CustomNonce.Serialize">
      <summary>
            Serializes the entire nonce for adding to the return_to URL.
            </summary>
      <returns>The base64-encoded string representing the nonce.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.CustomNonce.CreationDateUtc">
      <summary>
            Gets the creation date.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement.CustomNonce.RandomPartAsString">
      <summary>
            Gets the random part of the nonce as a base64 encoded string.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement">
      <summary>
            Signs and verifies authentication assertions.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.rpAssociations">
      <summary>
            The association store used by Relying Parties to look up the secrets needed for signing.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.opAssociations">
      <summary>
            The association store used by Providers to look up the secrets needed for signing.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.opSecuritySettings">
      <summary>
            The security settings at the Provider.
            Only defined when this element is instantiated to service a Provider.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.#ctor(DotNetOpenAuth.OpenId.IAssociationStore{System.Uri})">
      <summary>
            Initializes a new instance of the SigningBindingElement class for use by a Relying Party.
            </summary>
      <param name="associationStore">The association store used to look up the secrets needed for signing.  May be null for dumb Relying Parties.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.#ctor(DotNetOpenAuth.OpenId.IAssociationStore{DotNetOpenAuth.OpenId.AssociationRelyingPartyType},DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Initializes a new instance of the SigningBindingElement class for use by a Provider.
            </summary>
      <param name="associationStore">The association store used to look up the secrets needed for signing.</param>
      <param name="securitySettings">The security settings.</param>
      <requires exception="T:System.ArgumentNullException">associationStore != null</requires>
      <exception cref="T:System.ArgumentNullException">associationStore == null</exception>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.IsRelyingPartyVulnerableToReplays(DotNetOpenAuth.OpenId.Messages.SignedResponseRequest,DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse)">
      <summary>
            Determines whether the relying party sending an authentication request is
            vulnerable to replay attacks.
            </summary>
      <param name="request">The request message from the Relying Party.  Useful, but may be null for conservative estimate results.</param>
      <param name="response">The response message to be signed.</param>
      <returns>
        <c>true</c> if the relying party is vulnerable; otherwise, <c>false</c>.
            </returns>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.EnsureParametersRequiringSignatureAreSigned(DotNetOpenAuth.OpenId.ChannelElements.ITamperResistantOpenIdMessage)">
      <summary>
            Ensures that all message parameters that must be signed are in fact included
            in the signature.
            </summary>
      <param name="signedMessage">The signed message.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.GetSignature(DotNetOpenAuth.OpenId.ChannelElements.ITamperResistantOpenIdMessage,DotNetOpenAuth.OpenId.Association)">
      <summary>
            Calculates the signature for a given message.
            </summary>
      <param name="signedMessage">The message to sign or verify.</param>
      <param name="association">The association to use to sign the message.</param>
      <returns>The calculated signature of the method.</returns>
      <requires exception="T:System.ArgumentNullException">signedMessage != null</requires>
      <exception cref="T:System.ArgumentNullException">signedMessage == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(signedMessage.SignedParameterOrder)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(signedMessage.SignedParameterOrder)</exception>
      <requires exception="T:System.ArgumentNullException">association != null</requires>
      <exception cref="T:System.ArgumentNullException">association == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.GetSignedParameterOrder(DotNetOpenAuth.OpenId.ChannelElements.ITamperResistantOpenIdMessage)">
      <summary>
            Gets the value to use for the openid.signed parameter.
            </summary>
      <param name="signedMessage">The signable message.</param>
      <returns>
            A comma-delimited list of parameter names, omitting the 'openid.' prefix, that determines
            the inclusion and order of message parts that will be signed.
            </returns>
      <requires exception="T:System.InvalidOperationException">this.Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">this.Channel == null</exception>
      <requires exception="T:System.ArgumentNullException">signedMessage != null</requires>
      <exception cref="T:System.ArgumentNullException">signedMessage == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.GetAssociation(DotNetOpenAuth.OpenId.ChannelElements.ITamperResistantOpenIdMessage)">
      <summary>
            Gets the association to use to sign or verify a message.
            </summary>
      <param name="signedMessage">The message to sign or verify.</param>
      <returns>The association to use to sign or verify the message.</returns>
      <requires exception="T:System.ArgumentNullException">signedMessage != null</requires>
      <exception cref="T:System.ArgumentNullException">signedMessage == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.GetSpecificAssociation(DotNetOpenAuth.OpenId.ChannelElements.ITamperResistantOpenIdMessage)">
      <summary>
            Gets a specific association referenced in a given message's association handle.
            </summary>
      <param name="signedMessage">The signed message whose association handle should be used to lookup the association to return.</param>
      <returns>The referenced association; or <c>null</c> if such an association cannot be found.</returns>
      <remarks>
            If the association handle set in the message does not match any valid association,
            the association handle property is cleared, and the 
            <see cref="P:DotNetOpenAuth.OpenId.ChannelElements.ITamperResistantOpenIdMessage.InvalidateHandle" /> property is set to the
            handle that could not be found.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.GetDumbAssociationForSigning">
      <summary>
            Gets a private Provider association used for signing messages in "dumb" mode.
            </summary>
      <returns>An existing or newly created association.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.Protection">
      <summary>
            Gets the protection offered (if any) by this binding element.
            </summary>
      <value>
        <see cref="F:DotNetOpenAuth.Messaging.MessageProtections.TamperProtection" />
      </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.IsOnProvider">
      <summary>
            Gets a value indicating whether this binding element is on a Provider channel.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormConformanceLevel">
      <summary>
            Indicates the level of strictness to require when decoding a
            Key-Value Form encoded dictionary.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormConformanceLevel.Loose">
      <summary>
            Be as forgiving as possible to errors made while encoding.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormConformanceLevel.OpenId11">
      <summary>
            Allow for certain errors in encoding attributable to ambiguities
            in the OpenID 1.1 spec's description of the encoding.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormConformanceLevel.OpenId20">
      <summary>
            The strictest mode.  The decoder requires the encoded dictionary
            to be in strict compliance with OpenID 2.0's description of
            the encoding.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormEncoding">
      <summary>
            Performs conversion to and from the Key-Value Form Encoding defined by
            OpenID Authentication 2.0 section 4.1.1.
            http://openid.net/specs/openid-authentication-2_0.html#anchor4
            </summary>
      <remarks>
            This class is thread safe and immutable.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormEncoding.NewLineCharacters">
      <summary>
            The newline character sequence to use.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormEncoding.IllegalKeyCharacters">
      <summary>
            Characters that must not appear in parameter names.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormEncoding.IllegalValueCharacters">
      <summary>
            Characters that must not appaer in parameter values.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormEncoding.textEncoding">
      <summary>
            The character encoding to use.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormEncoding.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormEncoding" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormEncoding.#ctor(DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormConformanceLevel)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormEncoding" /> class.
            </summary>
      <param name="conformanceLevel">How strictly an incoming Key-Value Form message will be held to the spec.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormEncoding.GetBytes(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
      <summary>
            Encodes key/value pairs to Key-Value Form.
            </summary>
      <param name="keysAndValues">
            The dictionary of key/value pairs to convert to a byte stream.
            </param>
      <returns>The UTF8 byte array.</returns>
      <remarks>
            Enumerating a Dictionary&lt;TKey, TValue&gt; has undeterministic ordering.
            If ordering of the key=value pairs is important, a deterministic enumerator must
            be used.
            </remarks>
      <requires exception="T:System.ArgumentNullException">keysAndValues != null</requires>
      <exception cref="T:System.ArgumentNullException">keysAndValues == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormEncoding.GetDictionary(System.IO.Stream)">
      <summary>
            Decodes bytes in Key-Value Form to key/value pairs.
            </summary>
      <param name="data">The stream of Key-Value Form encoded bytes.</param>
      <returns>The deserialized dictionary.</returns>
      <exception cref="T:System.FormatException">Thrown when the data is not in the expected format.</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.KeyValueFormEncoding.ConformanceLevel">
      <summary>
            Gets a value controlling how strictly an incoming Key-Value Form message will be held to the spec.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel">
      <summary>
            A channel that knows how to send and receive OpenID messages.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.KeyValueFormContentType">
      <summary>
            The HTTP Content-Type to use in Key-Value Form responses.
            </summary>
      <remarks>
            OpenID 2.0 section 5.1.2 says this SHOULD be text/plain.  But this value 
            does not prevent free hosters like GoDaddy from tacking on their ads
            to the end of the direct response, corrupting the data.  So we deviate
            from the spec a bit here to improve the story for free Providers.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.keyValueForm">
      <summary>
            The encoder that understands how to read and write Key-Value Form.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.#ctor(DotNetOpenAuth.OpenId.IAssociationStore{System.Uri},DotNetOpenAuth.Messaging.Bindings.INonceStore,DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel" /> class
            for use by a Relying Party.
            </summary>
      <param name="associationStore">The association store to use.</param>
      <param name="nonceStore">The nonce store to use.</param>
      <param name="securitySettings">The security settings to apply.</param>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.#ctor(DotNetOpenAuth.OpenId.IAssociationStore{DotNetOpenAuth.OpenId.AssociationRelyingPartyType},DotNetOpenAuth.Messaging.Bindings.INonceStore,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel" /> class
            for use by a Provider.
            </summary>
      <param name="associationStore">The association store to use.</param>
      <param name="nonceStore">The nonce store to use.</param>
      <param name="securitySettings">The security settings.</param>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.#ctor(DotNetOpenAuth.OpenId.IAssociationStore{System.Uri},DotNetOpenAuth.Messaging.Bindings.INonceStore,DotNetOpenAuth.Messaging.IMessageFactory,DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings,System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel" /> class
            for use by a Relying Party.
            </summary>
      <param name="associationStore">The association store to use.</param>
      <param name="nonceStore">The nonce store to use.</param>
      <param name="messageTypeProvider">An object that knows how to distinguish the various OpenID message types for deserialization purposes.</param>
      <param name="securitySettings">The security settings to apply.</param>
      <param name="nonVerifying">A value indicating whether the channel is set up with no functional security binding elements.</param>
      <requires exception="T:System.ArgumentNullException">messageTypeProvider != null</requires>
      <exception cref="T:System.ArgumentNullException">messageTypeProvider == null</exception>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
      <requires exception="T:System.ArgumentException">!nonVerifying || securitySettings is RelyingPartySecuritySettings</requires>
      <exception cref="T:System.ArgumentException">nonVerifying || securitySettings is RelyingPartySecuritySettings</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.#ctor(DotNetOpenAuth.OpenId.IAssociationStore{DotNetOpenAuth.OpenId.AssociationRelyingPartyType},DotNetOpenAuth.Messaging.Bindings.INonceStore,DotNetOpenAuth.Messaging.IMessageFactory,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel" /> class
            for use by a Provider.
            </summary>
      <param name="associationStore">The association store to use.</param>
      <param name="nonceStore">The nonce store to use.</param>
      <param name="messageTypeProvider">An object that knows how to distinguish the various OpenID message types for deserialization purposes.</param>
      <param name="securitySettings">The security settings.</param>
      <requires exception="T:System.ArgumentNullException">messageTypeProvider != null</requires>
      <exception cref="T:System.ArgumentNullException">messageTypeProvider == null</exception>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.#ctor(DotNetOpenAuth.Messaging.IMessageFactory,DotNetOpenAuth.Messaging.IChannelBindingElement[])">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel" /> class.
            </summary>
      <param name="messageTypeProvider">A class prepared to analyze incoming messages and indicate what concrete
            message types can deserialize from it.</param>
      <param name="bindingElements">The binding elements to use in sending and receiving messages.</param>
      <requires exception="T:System.ArgumentNullException">messageTypeProvider != null</requires>
      <exception cref="T:System.ArgumentNullException">messageTypeProvider == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.CreateNonVerifyingChannel">
      <summary>
            A value indicating whether the channel is set up
            with no functional security binding elements.
            </summary>
      <returns>A new <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel" /> instance that will not perform verification on incoming messages or apply any security to outgoing messages.</returns>
      <remarks>
        <para>A value of <c>true</c> allows the relying party to preview incoming
            messages without invalidating nonces or checking signatures.</para>
        <para>Setting this to <c>true</c> poses a great security risk and is only
            present to support the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox" /> which needs to preview
            messages, and will validate them later.</para>
      </remarks>
      <ensures>Contract.Result&lt;OpenIdChannel&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Verifies the integrity and applicability of an incoming message.
            </summary>
      <param name="message">The message just received.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the message is somehow invalid, except for check_authentication messages.
            This can be due to tampering, replay attack or expiration, among other things.
            </exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="Channel" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.CreateHttpRequest(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Prepares an HTTP request that carries a given message.
            </summary>
      <param name="request">The message to send.</param>
      <returns>
            The <see cref="T:System.Net.HttpWebRequest" /> prepared to send the request.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.CreateHttpRequest(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)" inheritedFromTypeName="Channel" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.CreateHttpRequest(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)" inheritedFromTypeName="Channel" exception="T:System.ArgumentException">request.Recipient != null</requires>
      <exception cref="T:System.ArgumentException">request.Recipient == null</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.CreateHttpRequest(DotNetOpenAuth.Messaging.IDirectedProtocolMessage)" inheritedFromTypeName="Channel">Contract.Result&lt;HttpWebRequest&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.ReadFromResponseCore(DotNetOpenAuth.Messaging.IncomingWebResponse)">
      <summary>
            Gets the protocol message that may be in the given HTTP response.
            </summary>
      <param name="response">The response that is anticipated to contain an protocol message.</param>
      <returns>
            The deserialized message parts, if found.  Null otherwise.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown when the response is not valid.</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.ReadFromResponseCore(DotNetOpenAuth.Messaging.IncomingWebResponse)" inheritedFromTypeName="Channel" exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.OnReceivingDirectResponse(DotNetOpenAuth.Messaging.IncomingWebResponse,DotNetOpenAuth.Messaging.IDirectResponseProtocolMessage)">
      <summary>
            Called when receiving a direct response message, before deserialization begins.
            </summary>
      <param name="response">The HTTP direct response.</param>
      <param name="message">The newly instantiated message, prior to deserialization.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.PrepareDirectResponse(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Queues a message for sending in the response stream where the fields
            are sent in the response stream in querystring style.
            </summary>
      <param name="response">The message to send as a response.</param>
      <returns>
            The pending user agent redirect based message to be sent as an HttpResponse.
            </returns>
      <remarks>
            This method implements spec V1.0 section 5.3.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.PrepareDirectResponse(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="Channel" exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.PrepareDirectResponse(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="Channel">Contract.Result&lt;OutgoingWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.GetDirectResponse(System.Net.HttpWebRequest)">
      <summary>
            Gets the direct response of a direct HTTP request.
            </summary>
      <param name="webRequest">The web request.</param>
      <returns>The response to the web request.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown on network or protocol errors.</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Channel.GetDirectResponse(System.Net.HttpWebRequest)" inheritedFromTypeName="Channel" exception="T:System.ArgumentNullException">webRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">webRequest == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.InitializeBindingElements``1(DotNetOpenAuth.OpenId.IAssociationStore{``0},DotNetOpenAuth.Messaging.Bindings.INonceStore,DotNetOpenAuth.OpenId.SecuritySettings,System.Boolean)">
      <summary>
            Initializes the binding elements.
            </summary>
      <typeparam name="T">The distinguishing factor used by the association store.</typeparam>
      <param name="associationStore">The association store.</param>
      <param name="nonceStore">The nonce store to use.</param>
      <param name="securitySettings">The security settings to apply.  Must be an instance of either <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings" /> or <see cref="T:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings" />.</param>
      <param name="nonVerifying">A value indicating whether the channel is set up with no functional security binding elements.</param>
      <returns>
            An array of binding elements which may be used to construct the channel.
            </returns>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
      <requires exception="T:System.ArgumentException">!nonVerifying || securitySettings is RelyingPartySecuritySettings</requires>
      <exception cref="T:System.ArgumentException">nonVerifying || securitySettings is RelyingPartySecuritySettings</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.OpenIdMessageFactory">
      <summary>
            Distinguishes the various OpenID message types for deserialization purposes.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdMessageFactory.GetNewRequestMessage(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Analyzes an incoming request message payload to discover what kind of
            message is embedded in it and returns the type, or null if no match is found.
            </summary>
      <param name="recipient">The intended or actual recipient of the request message.</param>
      <param name="fields">The name/value pairs that make up the message payload.</param>
      <returns>
            A newly instantiated <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessage" />-derived object that this message can
            deserialize to.  Null if the request isn't recognized as a valid protocol message.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewRequestMessage(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IMessageFactory" exception="T:System.ArgumentNullException">recipient != null</requires>
      <exception cref="T:System.ArgumentNullException">recipient == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewRequestMessage(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IMessageFactory" exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.OpenIdMessageFactory.GetNewResponseMessage(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Analyzes an incoming request message payload to discover what kind of
            message is embedded in it and returns the type, or null if no match is found.
            </summary>
      <param name="request">The message that was sent as a request that resulted in the response.</param>
      <param name="fields">The name/value pairs that make up the message payload.</param>
      <returns>
            A newly instantiated <see cref="T:DotNetOpenAuth.Messaging.IProtocolMessage" />-derived object that this message can
            deserialize to.  Null if the request isn't recognized as a valid protocol message.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewResponseMessage(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IMessageFactory" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IMessageFactory.GetNewResponseMessage(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IMessageFactory" exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement">
      <summary>
            This binding element signs a Relying Party's openid.return_to parameter
            so that upon return, it can verify that it hasn't been tampered with.
            </summary>
      <remarks>
        <para>Since Providers can send unsolicited assertions, not all openid.return_to
            values will be signed.  But those that are signed will be validated, and
            any invalid or missing signatures will cause this library to not trust
            the parameters in the return_to URL.</para>
        <para>In the messaging stack, this binding element looks like an ordinary
            transform-type of binding element rather than a protection element,
            due to its required order in the channel stack and that it doesn't sign
            anything except a particular message part.</para>
      </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement.ReturnToSignatureParameterName">
      <summary>
            The name of the callback parameter we'll tack onto the return_to value
            to store our signature on the return_to parameter.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement.ReturnToSignatureHandleParameterName">
      <summary>
            The name of the callback parameter we'll tack onto the return_to value
            to store the handle of the association we use to sign the return_to parameter.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement.secretManager">
      <summary>
            The hashing algorithm used to generate the private signature on the return_to parameter.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement.#ctor(DotNetOpenAuth.OpenId.IAssociationStore{System.Uri},DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement" /> class.
            </summary>
      <param name="secretStore">The secret store from which to retrieve the secret used for signing.</param>
      <param name="securitySettings">The security settings.</param>
      <requires exception="T:System.ArgumentNullException">secretStore != null</requires>
      <exception cref="T:System.ArgumentNullException">secretStore == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement.GetReturnToSignature(System.Uri)">
      <summary>
            Gets the return to signature.
            </summary>
      <param name="returnTo">The return to.</param>
      <returns>The generated signature.</returns>
      <remarks>
            Only the parameters in the return_to URI are signed, rather than the base URI
            itself, in order that OPs that might change the return_to's implicit port :80 part
            or other minor changes do not invalidate the signature.
            </remarks>
      <requires exception="T:System.ArgumentNullException">returnTo != null</requires>
      <exception cref="T:System.ArgumentNullException">returnTo == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
      <value />
      <remarks>
            This property is set by the channel when it is first constructed.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement.Protection">
      <summary>
            Gets the protection offered (if any) by this binding element.
            </summary>
      <value>
        <see cref="F:DotNetOpenAuth.Messaging.MessageProtections.None" />
      </value>
      <remarks>
            No message protection is reported because this binding element
            does not protect the entire message -- only a part.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ChannelElements.SkipSecurityBindingElement">
      <summary>
            Spoofs security checks on incoming OpenID messages.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SkipSecurityBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Prepares a message for sending based on the rules of this channel binding element.
            </summary>
      <param name="message">The message to prepare for sending.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessOutgoingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ChannelElements.SkipSecurityBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Performs any transformation on an incoming message that may be necessary and/or
            validates an incoming message based on the rules of this channel binding element.
            </summary>
      <param name="message">The incoming message to process.</param>
      <returns>
            The protections (if any) that this binding element applied to the message.
            Null if this binding element did not even apply to this binding element.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the binding element rules indicate that this message is invalid and should
            NOT be processed.
            </exception>
      <remarks>
            Implementations that provide message protection must honor the
            <see cref="P:DotNetOpenAuth.Messaging.MessagePartAttribute.RequiredProtection" /> properties where applicable.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IChannelBindingElement.ProcessIncomingMessage(DotNetOpenAuth.Messaging.IProtocolMessage)" inheritedFromTypeName="IChannelBindingElement" exception="T:System.InvalidOperationException">((IChannelBindingElement)this).Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">!(((IChannelBindingElement)this).Channel != null)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.SkipSecurityBindingElement.Channel">
      <summary>
            Gets or sets the channel that this binding element belongs to.
            </summary>
      <value />
      <remarks>
            This property is set by the channel when it is first constructed.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ChannelElements.SkipSecurityBindingElement.Protection">
      <summary>
            Gets the protection commonly offered (if any) by this binding element.
            </summary>
      <value>
        <see cref="F:DotNetOpenAuth.Messaging.MessageProtections.All" />
      </value>
      <remarks>
            This value is used to assist in sorting binding elements in the channel stack.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.AssociationContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.OpenId.Association" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.AssociationContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.OpenId.AssociationContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.AssociationContract.GetAssociationType(DotNetOpenAuth.OpenId.Protocol)">
      <summary>
            The string to pass as the assoc_type value in the OpenID protocol.
            </summary>
      <param name="protocol">The protocol version of the message that the assoc_type value will be included in.</param>
      <returns>
            The value that should be used for  the openid.assoc_type parameter.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.AssociationContract.CreateHasher">
      <summary>
            Returns the specific hash algorithm used for message signing.
            </summary>
      <returns>
            The hash algorithm used for message signing.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.AssociationContract.HashBitLength">
      <summary>
            Gets the length (in bits) of the hash this association creates when signing.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AliasManager">
      <summary>
            Manages a fast, two-way mapping between type URIs and their aliases.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AliasManager.AliasFormat">
      <summary>
            The format of auto-generated aliases.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AliasManager.typeUriToAliasMap">
      <summary>
            Tracks extension Type URIs and aliases assigned to them.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AliasManager.aliasToTypeUriMap">
      <summary>
            Tracks extension aliases and Type URIs assigned to them.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AliasManager.GetAlias(System.String)">
      <summary>
            Gets an alias assigned for a given Type URI.  A new alias is assigned if necessary.
            </summary>
      <param name="typeUri">The type URI.</param>
      <returns>The alias assigned to this type URI.  Never null.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(typeUri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(typeUri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AliasManager.SetAlias(System.String,System.String)">
      <summary>
            Sets an alias and the value that will be returned by <see cref="M:DotNetOpenAuth.OpenId.Extensions.AliasManager.ResolveAlias(System.String)" />.
            </summary>
      <param name="alias">The alias.</param>
      <param name="typeUri">The type URI.</param>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(alias)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(alias)</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(typeUri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(typeUri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AliasManager.AssignAliases(System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Takes a sequence of type URIs and assigns aliases for all of them.
            </summary>
      <param name="typeUris">The type URIs to create aliases for.</param>
      <param name="preferredTypeUriToAliases">An optional dictionary of URI/alias pairs that suggest preferred aliases to use if available for certain type URIs.</param>
      <requires exception="T:System.ArgumentNullException">typeUris != null</requires>
      <exception cref="T:System.ArgumentNullException">typeUris == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AliasManager.SetPreferredAliasesWhereNotSet(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Sets up aliases for any Type URIs in a dictionary that do not yet have aliases defined,
            and where the given preferred alias is still available.
            </summary>
      <param name="preferredTypeUriToAliases">A dictionary of type URI keys and alias values.</param>
      <requires exception="T:System.ArgumentNullException">preferredTypeUriToAliases != null</requires>
      <exception cref="T:System.ArgumentNullException">preferredTypeUriToAliases == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AliasManager.ResolveAlias(System.String)">
      <summary>
            Gets the Type Uri encoded by a given alias.
            </summary>
      <param name="alias">The alias.</param>
      <returns>The Type URI.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if the given alias does not have a matching TypeURI.</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(alias)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(alias)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AliasManager.TryResolveAlias(System.String)">
      <summary>
            Gets the Type Uri encoded by a given alias.
            </summary>
      <param name="alias">The alias.</param>
      <returns>The Type URI for the given alias, or null if none for that alias exist.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(alias)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(alias)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AliasManager.IsAliasUsed(System.String)">
      <summary>
            Returns a value indicating whether an alias has already been assigned to a type URI.
            </summary>
      <param name="alias">The alias in question.</param>
      <returns>True if the alias has already been assigned.  False otherwise.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(alias)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(alias)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AliasManager.IsAliasAssignedTo(System.String)">
      <summary>
            Determines whether a given TypeURI has an associated alias assigned to it.
            </summary>
      <param name="typeUri">The type URI.</param>
      <returns>
        <c>true</c> if the given type URI already has an alias assigned; <c>false</c> otherwise.
            </returns>
      <requires exception="T:System.ArgumentNullException">typeUri != null</requires>
      <exception cref="T:System.ArgumentNullException">typeUri == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AliasManager.AssignNewAlias(System.String)">
      <summary>
            Assigns a new alias to a given Type URI.
            </summary>
      <param name="typeUri">The type URI to assign a new alias to.</param>
      <returns>The newly generated alias.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(typeUri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(typeUri)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AliasManager.Aliases">
      <summary>
            Gets the aliases that have been set.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest">
      <summary>
            An individual attribute to be requested of the OpenID Provider using
            the Attribute Exchange extension.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.count">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.Count" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest" /> class
            with <see cref="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.IsRequired" /> = false, <see cref="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.Count" /> = 1.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest" /> class
            with <see cref="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.IsRequired" /> = false, <see cref="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.Count" /> = 1.
            </summary>
      <param name="typeUri">The unique TypeURI for that describes the attribute being sought.</param>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(typeUri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(typeUri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.#ctor(System.String,System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest" /> class
            with <see cref="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.Count" /> = 1.
            </summary>
      <param name="typeUri">The unique TypeURI for that describes the attribute being sought.</param>
      <param name="isRequired">A value indicating whether the Relying Party considers this attribute to be required for registration.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.#ctor(System.String,System.Boolean,System.Int32)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest" /> class.
            </summary>
      <param name="typeUri">The unique TypeURI for that describes the attribute being sought.</param>
      <param name="isRequired">A value indicating whether the Relying Party considers this attribute to be required for registration.</param>
      <param name="count">The maximum number of values for this attribute the Relying Party is prepared to receive.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.Respond(System.String[])">
      <summary>
            Used by a Provider to create a response to a request for an attribute's value(s)
            using a given array of strings.
            </summary>
      <param name="values">The values for the requested attribute.</param>
      <returns>
            The newly created <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues" /> object that should be added to
            the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse" /> object.
            </returns>
      <requires exception="T:System.ArgumentNullException">values != null</requires>
      <exception cref="T:System.ArgumentNullException">values == null</exception>
      <requires exception="T:System.ArgumentException">values.Length &lt;= this.Count</requires>
      <exception cref="T:System.ArgumentException">values.Length &gt; this.Count</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.Equals(System.Object)">
      <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.GetHashCode">
      <summary>
            Serves as a hash function for a particular type.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.TypeUri">
      <summary>
            Gets or sets the URI uniquely identifying the attribute being requested.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.IsRequired">
      <summary>
            Gets or sets a value indicating whether the relying party considers this a required field.
            Note that even if set to true, the Provider may not provide the value.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.Count">
      <summary>
            Gets or sets the maximum number of values for this attribute the 
            Relying Party wishes to receive from the OpenID Provider.
            A value of int.MaxValue is considered infinity.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentOutOfRangeException">value &gt; 0</requires>
      </setter>
      <exception cref="T:System.ArgumentOutOfRangeException">value &lt;= 0</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues">
      <summary>
            An individual attribute's value(s) as supplied by an OpenID Provider
            in response to a prior request by an OpenID Relying Party as part of
            a fetch request, or by a relying party as part of a store request.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues.#ctor(System.String,System.String[])">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues" /> class.
            </summary>
      <param name="typeUri">The TypeURI that uniquely identifies the attribute.</param>
      <param name="values">The values for the attribute.</param>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(typeUri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(typeUri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues" /> class.
            </summary>
      <remarks>
            This is internal because web sites should be using the
            <see cref="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest.Respond(System.String[])" /> method to instantiate.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues" /> class.
            </summary>
      <param name="typeUri">The TypeURI of the attribute whose values are being provided.</param>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(typeUri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(typeUri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues.Equals(System.Object)">
      <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues.GetHashCode">
      <summary>
            Serves as a hash function for a particular type.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues.TypeUri">
      <summary>
            Gets the URI uniquely identifying the attribute whose value is being supplied.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues.Values">
      <summary>
            Gets the values supplied by the Provider.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats">
      <summary>
            The various Type URI formats an AX attribute may use by various remote parties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats.None">
      <summary>
            No attribute format.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats.AXSchemaOrg">
      <summary>
            AX attributes should use the Type URI format starting with <c>http://axschema.org/</c>.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats.SchemaOpenIdNet">
      <summary>
            AX attributes should use the Type URI format starting with <c>http://schema.openid.net/</c>.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats.OpenIdNetSchema">
      <summary>
            AX attributes should use the Type URI format starting with <c>http://openid.net/schema/</c>.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats.All">
      <summary>
            All known schemas.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats.Common">
      <summary>
            The most common schemas.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXUtilities">
      <summary>
            Helper methods shared by multiple messages in the Attribute Exchange extension.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXUtilities.AddRequired(System.Collections.Generic.ICollection{DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest},System.String)">
      <summary>
            Adds a request for an attribute considering it 'required'.
            </summary>
      <param name="collection">The attribute request collection.</param>
      <param name="typeUri">The type URI of the required attribute.</param>
      <requires exception="T:System.ArgumentNullException">collection != null</requires>
      <exception cref="T:System.ArgumentNullException">collection == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXUtilities.AddOptional(System.Collections.Generic.ICollection{DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest},System.String)">
      <summary>
            Adds a request for an attribute without considering it 'required'.
            </summary>
      <param name="collection">The attribute request collection.</param>
      <param name="typeUri">The type URI of the requested attribute.</param>
      <requires exception="T:System.ArgumentNullException">collection != null</requires>
      <exception cref="T:System.ArgumentNullException">collection == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXUtilities.Add(System.Collections.Generic.ICollection{DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues},System.String,System.String[])">
      <summary>
            Adds a given attribute with one or more values to the request for storage.
            Applicable to Relying Parties only.
            </summary>
      <param name="collection">The collection of <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues" /> to add to.</param>
      <param name="typeUri">The type URI of the attribute.</param>
      <param name="values">The attribute values.</param>
      <requires exception="T:System.ArgumentNullException">collection != null</requires>
      <exception cref="T:System.ArgumentNullException">collection == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXUtilities.SerializeAttributes(System.Collections.Generic.IDictionary{System.String,System.String},System.Collections.Generic.IEnumerable{DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeValues})">
      <summary>
            Serializes a set of attribute values to a dictionary of fields to send in the message.
            </summary>
      <param name="fields">The dictionary to fill with serialized attributes.</param>
      <param name="attributes">The attributes.</param>
      <requires exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
      <requires exception="T:System.ArgumentNullException">attributes != null</requires>
      <exception cref="T:System.ArgumentNullException">attributes == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXUtilities.DeserializeAttributes(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Deserializes attribute values from an incoming set of message data.
            </summary>
      <param name="fields">The data coming in with the message.</param>
      <returns>The attribute values found in the message.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXUtilities.ParseAliases(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Reads through the attributes included in the response to discover
            the alias-TypeURI relationships.
            </summary>
      <param name="fields">The data included in the extension message.</param>
      <returns>The alias manager that provides lookup between aliases and type URIs.</returns>
      <requires exception="T:System.ArgumentNullException">fields != null</requires>
      <exception cref="T:System.ArgumentNullException">fields == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.Constants">
      <summary>
            Attribute Exchange constants
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.Constants.TypeUri">
      <summary>
            The TypeURI by which the AX extension is recognized in
            OpenID messages and in XRDS documents.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest">
      <summary>
            The Attribute Exchange Fetch message, request leg.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ExtensionBase">
      <summary>
            A handy base class for built-in extensions.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension">
      <summary>
            The contract any OpenID extension for DotNetOpenAuth must implement.
            </summary>
      <remarks>
            Classes that implement this interface should be marked as
            [<see cref="T:System.SerializableAttribute" />] to allow serializing state servers
            to cache messages, particularly responses.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.TypeUri">
      <summary>
            Gets the TypeURI the extension uses in the OpenID protocol and in XRDS advertisements.
            </summary>
      <getter>
        <ensures>!String.IsNullOrEmpty(Contract.Result&lt;string&gt;())</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.AdditionalSupportedTypeUris">
      <summary>
            Gets the additional TypeURIs that are supported by this extension, in preferred order.
            May be empty if none other than <see cref="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.TypeUri" /> is supported, but
            should not be null.
            </summary>
      <remarks>
            Useful for reading in messages with an older version of an extension.
            The value in the <see cref="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.TypeUri" /> property is always checked before
            trying this list.
            If you do support multiple versions of an extension using this method,
            consider adding a CreateResponse method to your request extension class
            so that the response can have the context it needs to remain compatible
            given the version of the extension in the request message.
            The <see cref="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.CreateResponse" /> for an example.
            </remarks>
      <getter>
        <ensures>Contract.Result&lt;IEnumerable&lt;string&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.IsSignedByRemoteParty">
      <summary>
            Gets or sets a value indicating whether this extension was 
            signed by the sender.
            </summary>
      <value>
        <c>true</c> if this instance is signed by the sender; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.typeUri">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.TypeUri" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.additionalSupportedTypeUris">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.AdditionalSupportedTypeUris" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.extraData">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.Messaging.IMessage.ExtraData" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.#ctor(System.Version,System.String,System.Collections.Generic.IEnumerable{System.String})">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.ExtensionBase" /> class.
            </summary>
      <param name="version">The version of the extension.</param>
      <param name="typeUri">The type URI to use in the OpenID message.</param>
      <param name="additionalSupportedTypeUris">The additional supported type URIs by which this extension might be recognized.  May be null.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.DotNetOpenAuth#Messaging#IMessage#EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.DotNetOpenAuth#OpenId#Messages#IOpenIdMessageExtension#TypeUri">
      <summary>
            Gets the TypeURI the extension uses in the OpenID protocol and in XRDS advertisements.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.get_TypeUri" inheritedFromTypeName="IOpenIdMessageExtension">!String.IsNullOrEmpty(Contract.Result&lt;string&gt;())</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.DotNetOpenAuth#OpenId#Messages#IOpenIdMessageExtension#AdditionalSupportedTypeUris">
      <summary>
            Gets the additional TypeURIs that are supported by this extension, in preferred order.
            May be empty if none other than <see cref="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.TypeUri" /> is supported, but
            should not be null.
            </summary>
      <remarks>
            Useful for reading in messages with an older version of an extension.
            The value in the <see cref="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.TypeUri" /> property is always checked before
            trying this list.
            If you do support multiple versions of an extension using this method,
            consider adding a CreateResponse method to your request extension class
            so that the response can have the context it needs to remain compatible
            given the version of the extension in the request message.
            The <see cref="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.CreateResponse" /> for an example.
            </remarks>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.get_AdditionalSupportedTypeUris" inheritedFromTypeName="IOpenIdMessageExtension">Contract.Result&lt;IEnumerable&lt;string&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.DotNetOpenAuth#OpenId#Messages#IOpenIdMessageExtension#IsSignedByRemoteParty">
      <summary>
            Gets or sets a value indicating whether this extension was
            signed by the OpenID Provider.
            </summary>
      <value>
        <c>true</c> if this instance is signed by the provider; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.Version">
      <summary>
            Gets the version of the protocol or extension this message is prepared to implement.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_Version" inheritedFromTypeName="IMessage">Contract.Result&lt;Version&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.DotNetOpenAuth#Messaging#IMessage#ExtraData">
      <summary>
            Gets the extra, non-standard Protocol parameters included in the message.
            </summary>
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_ExtraData" inheritedFromTypeName="IMessage">Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.TypeUri">
      <summary>
            Gets the TypeURI the extension uses in the OpenID protocol and in XRDS advertisements.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.IsSignedByRemoteParty">
      <summary>
            Gets or sets a value indicating whether this extension was
            signed by the OpenID Provider.
            </summary>
      <value>
        <c>true</c> if this instance is signed by the provider; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.AdditionalSupportedTypeUris">
      <summary>
            Gets the additional TypeURIs that are supported by this extension, in preferred order.
            May be empty if none other than <see cref="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.TypeUri" /> is supported, but
            should not be null.
            </summary>
      <value />
      <remarks>
            Useful for reading in messages with an older version of an extension.
            The value in the <see cref="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.TypeUri" /> property is always checked before
            trying this list.
            If you do support multiple versions of an extension using this method,
            consider adding a CreateResponse method to your request extension class
            so that the response can have the context it needs to remain compatible
            given the version of the extension in the request message.
            The <see cref="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.CreateResponse" /> for an example.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.ExtraData">
      <summary>
            Gets the extra, non-standard Protocol parameters included in the message.
            </summary>
      <value />
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.Mode">
      <summary>
            The value for the 'mode' parameter.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.Factory">
      <summary>
            The factory method that may be used in deserialization of this message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.IllegalAliasListCharacters">
      <summary>
            Characters that may not appear in an attribute alias list.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.IllegalAliasCharacters">
      <summary>
            Characters that may not appear in an attribute Type URI alias.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.attributes">
      <summary>
            The collection of requested attributes.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.Equals(System.Object)">
      <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.GetHashCode">
      <summary>
            Serves as a hash function for a particular type.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.DotNetOpenAuth#Messaging#IMessageWithEvents#OnSending">
      <summary>
            Called when the message is about to be transmitted,
            before it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.DotNetOpenAuth#Messaging#IMessageWithEvents#OnReceiving">
      <summary>
            Called when the message has been received,
            after it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.ParseAliasList(System.String)">
      <summary>
            Splits a list of aliases by their commas.
            </summary>
      <param name="aliasList">The comma-delimited list of aliases.  May be null or empty.</param>
      <returns>The list of aliases.  Never null, but may be empty.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.Attributes">
      <summary>
            Gets a collection of the attributes whose values are 
            requested by the Relying Party.
            </summary>
      <value>A collection where the keys are the attribute type URIs, and the value
            is all the attribute request details.</value>
      <getter>
        <ensures>Contract.Result&lt;KeyedCollection&lt;string, AttributeRequest&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.UpdateUrl">
      <summary>
            Gets or sets the URL that the OpenID Provider may re-post the fetch response 
            message to at some time after the initial response has been sent, using an
            OpenID Authentication Positive Assertion to inform the relying party of updates
            to the requested fields.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.OptionalAliases">
      <summary>
            Gets or sets a list of aliases for optional attributes.
            </summary>
      <value>A comma-delimited list of aliases.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest.RequiredAliases">
      <summary>
            Gets or sets a list of aliases for required attributes.
            </summary>
      <value>A comma-delimited list of aliases.</value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse">
      <summary>
            The Attribute Exchange Fetch message, response leg.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.Mode">
      <summary>
            The value of the 'mode' parameter.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.Factory">
      <summary>
            The factory method that may be used in deserialization of this message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.attributesProvided">
      <summary>
            The collection of provided attributes.  This field will never be null.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.GetAttributeValue(System.String)">
      <summary>
            Gets the first attribute value provided for a given attribute Type URI.
            </summary>
      <param name="typeUri">
            The type URI of the attribute.  
            Usually a constant from <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes" />.</param>
      <returns>
            The first value provided for the attribute, or <c>null</c> if the attribute is missing or no values were provided.
            </returns>
      <remarks>
            This is meant as a helper method for the common case of just wanting one attribute value.
            For greater flexibility or to retrieve more than just the first value for an attribute,
            use the <see cref="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.Attributes" /> collection directly.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.Equals(System.Object)">
      <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.GetHashCode">
      <summary>
            Serves as a hash function for a particular type.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.DotNetOpenAuth#Messaging#IMessageWithEvents#OnSending">
      <summary>
            Called when the message is about to be transmitted,
            before it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.DotNetOpenAuth#Messaging#IMessageWithEvents#OnReceiving">
      <summary>
            Called when the message has been received,
            after it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.Attributes">
      <summary>
            Gets a sequence of the attributes whose values are provided by the OpenID Provider.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;KeyedCollection&lt;string, AttributeValues&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.UpdateUrlSupported">
      <summary>
            Gets a value indicating whether the OpenID Provider intends to
            honor the request for updates.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.UpdateUrl">
      <summary>
            Gets or sets the URL the OpenID Provider will post updates to.  
            Must be set if the Provider supports and will use this feature.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse.IsSignedByProvider">
      <summary>
            Gets a value indicating whether this extension is signed by the Provider.
            </summary>
      <value>
        <c>true</c> if this instance is signed by the Provider; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreRequest">
      <summary>
            The Attribute Exchange Store message, request leg.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreRequest.Mode">
      <summary>
            The value of the 'mode' parameter.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreRequest.Factory">
      <summary>
            The factory method that may be used in deserialization of this message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreRequest.attributesProvided">
      <summary>
            The collection of provided attribute values.  This field will never be null.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreRequest.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreRequest" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreRequest.DotNetOpenAuth#Messaging#IMessageWithEvents#OnSending">
      <summary>
            Called when the message is about to be transmitted,
            before it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreRequest.DotNetOpenAuth#Messaging#IMessageWithEvents#OnReceiving">
      <summary>
            Called when the message has been received,
            after it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreRequest.Equals(System.Object)">
      <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreRequest.GetHashCode">
      <summary>
            Serves as a hash function for a particular type.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreRequest.Attributes">
      <summary>
            Gets the collection of all the attributes that are included in the store request.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse">
      <summary>
            The Attribute Exchange Store message, response leg.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse.SuccessMode">
      <summary>
            The value of the mode parameter used to express a successful store operation.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse.FailureMode">
      <summary>
            The value of the mode parameter used to express a store operation failure.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse.Factory">
      <summary>
            The factory method that may be used in deserialization of this message.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse" /> class
            to represent a successful store operation.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse" /> class
            to represent a failed store operation.
            </summary>
      <param name="failureReason">The reason for failure.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse.Equals(System.Object)">
      <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse.GetHashCode">
      <summary>
            Serves as a hash function for a particular type.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse.Succeeded">
      <summary>
            Gets or sets a value indicating whether the storage request succeeded.
            </summary>
      <value>Defaults to <c>true</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse.FailureReason">
      <summary>
            Gets or sets the reason for the failure, if applicable.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse.IsSignedByProvider">
      <summary>
            Gets a value indicating whether this extension is signed by the Provider.
            </summary>
      <value>
        <c>true</c> if this instance is signed by the Provider; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.StoreResponse.Mode">
      <summary>
            Gets or sets the mode argument.
            </summary>
      <value>One of 'store_response_success' or 'store_response_failure'.</value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes">
      <summary>
            Attribute types defined at http://www.axschema.org/types/.
            </summary>
      <remarks>
            If you don't see what you need here, check that URL to see if any have been added.
            You can use new ones directly without adding them to this class, and can even make
            up your own if you expect the other end to understand what you make up.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Person">
      <summary>
            Inherent attributes about a personality such as gender and bio.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Person.Gender">
      <summary>Gender, either "M" or "F"</summary>
      <example>"M", "F"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Person.Biography">
      <summary>Biography (text)</summary>
      <example>"I am the very model of a modern Major General."</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Preferences">
      <summary>
            Preferences such as language and timezone.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Preferences.Language">
      <summary>Preferred language, as per RFC4646</summary>
      <example>"en-US"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Preferences.TimeZone">
      <summary>Home time zone information (as specified in <a href="http://en.wikipedia.org/wiki/List_of_tz_zones_by_name">zoneinfo</a>)</summary>
      <example>"America/Pacific"</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Name">
      <summary>
            The names a person goes by.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Name.Alias">
      <summary>Subject's alias or "screen" name</summary>
      <example>"Johnny5"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Name.FullName">
      <summary>Full name of subject</summary>
      <example>"John Doe"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Name.Prefix">
      <summary>Honorific prefix for the subject's name</summary>
      <example>"Mr.", "Mrs.", "Dr."</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Name.First">
      <summary>First or given name of subject</summary>
      <example>"John"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Name.Last">
      <summary>Last name or surname of subject</summary>
      <example>"Smith"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Name.Middle">
      <summary>Middle name(s) of subject</summary>
      <example>"Robert"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Name.Suffix">
      <summary>Suffix of subject's name</summary>
      <example>"III", "Jr."</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Company">
      <summary>
            Business affiliation.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Company.CompanyName">
      <summary>Company name (employer)</summary>
      <example>"Springfield Power"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Company.JobTitle">
      <summary>Employee title</summary>
      <example>"Engineer"</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.BirthDate">
      <summary>
            Information about a person's birthdate.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.BirthDate.WholeBirthDate">
      <summary>Date of birth.</summary>
      <example>"1979-01-01"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.BirthDate.Year">
      <summary>Year of birth (four digits)</summary>
      <example>"1979"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.BirthDate.Month">
      <summary>Month of birth (1-12)</summary>
      <example>"05"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.BirthDate.DayOfMonth">
      <summary>Day of birth</summary>
      <example>"31"</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact">
      <summary>
            Various ways to contact a person.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Email">
      <summary>Internet SMTP email address as per RFC2822</summary>
      <example>"jsmith@isp.example.com"</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Phone">
      <summary>
            Various types of phone numbers.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Phone.Preferred">
      <summary>Main phone number (preferred)</summary>
      <example>+1-800-555-1234</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Phone.Home">
      <summary>Home phone number</summary>
      <example>+1-800-555-1234</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Phone.Work">
      <summary>Business phone number</summary>
      <example>+1-800-555-1234</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Phone.Mobile">
      <summary>Cellular (or mobile) phone number</summary>
      <example>+1-800-555-1234</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Phone.Fax">
      <summary>Fax number</summary>
      <example>+1-800-555-1234</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.HomeAddress">
      <summary>
            The many fields that make up an address.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.HomeAddress.StreetAddressLine1">
      <summary>Home postal address: street number, name and apartment number</summary>
      <example>"#42 135 East 1st Street"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.HomeAddress.StreetAddressLine2">
      <summary>"#42 135 East 1st Street"</summary>
      <example>"Box 67"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.HomeAddress.City">
      <summary>Home city name</summary>
      <example>"Vancouver"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.HomeAddress.State">
      <summary>Home state or province name</summary>
      <example>"BC"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.HomeAddress.Country">
      <summary>Home country code in ISO.3166.1988 (alpha 2) format</summary>
      <example>"CA"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.HomeAddress.PostalCode">
      <summary>Home postal code; region specific format</summary>
      <example>"V5A 4B2"</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.WorkAddress">
      <summary>
            The many fields that make up an address.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.WorkAddress.StreetAddressLine1">
      <summary>Business postal address: street number, name and apartment number</summary>
      <example>"#42 135 East 1st Street"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.WorkAddress.StreetAddressLine2">
      <summary>"#42 135 East 1st Street"</summary>
      <example>"Box 67"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.WorkAddress.City">
      <summary>Business city name</summary>
      <example>"Vancouver"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.WorkAddress.State">
      <summary>Business state or province name</summary>
      <example>"BC"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.WorkAddress.Country">
      <summary>Business country code in ISO.3166.1988 (alpha 2) format</summary>
      <example>"CA"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.WorkAddress.PostalCode">
      <summary>Business postal code; region specific format</summary>
      <example>"V5A 4B2"</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.IM">
      <summary>
            Various handles for instant message clients.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.IM.AOL">
      <summary>AOL instant messaging service handle</summary>
      <example>"jsmith421234"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.IM.ICQ">
      <summary>ICQ instant messaging service handle</summary>
      <example>"1234567"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.IM.MSN">
      <summary>MSN instant messaging service handle</summary>
      <example>"jsmith42@hotmail.com"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.IM.Yahoo">
      <summary>Yahoo! instant messaging service handle</summary>
      <example>"jsmith421234"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.IM.Jabber">
      <summary>Jabber instant messaging service handle</summary>
      <example>"jsmith@jabber.example.com"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.IM.Skype">
      <summary>Skype instant messaging service handle</summary>
      <example>"jsmith42"</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Web">
      <summary>
            Various web addresses connected with this personality.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Web.Homepage">
      <summary>Web site URL</summary>
      <example>"http://example.com/~jsmith/"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Web.Blog">
      <summary>Blog home page URL</summary>
      <example>"http://example.com/jsmith_blog/"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Web.LinkedIn">
      <summary>LinkedIn URL</summary>
      <example>"http://www.linkedin.com/pub/1/234/56"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Web.Amazon">
      <summary>Amazon URL</summary>
      <example>"http://www.amazon.com/gp/pdp/profile/A24DLKJ825"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Web.Flickr">
      <summary>Flickr URL</summary>
      <example>"http://flickr.com/photos/jsmith42/"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Contact.Web.Delicious">
      <summary>del.icio.us URL</summary>
      <example>"http://del.icio.us/jsmith42"</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Media">
      <summary>
            Audio and images of this personality.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Media.SpokenName">
      <summary>Spoken name (web URL)</summary>
      <example>"http://example.com/~jsmith/john_smith.wav"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Media.AudioGreeting">
      <summary>Audio greeting (web URL)</summary>
      <example>"http://example.com/~jsmith/i_greet_you.wav"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Media.VideoGreeting">
      <summary>Video greeting (web URL)</summary>
      <example>"http://example.com/~jsmith/i_greet_you.mov"</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Media.Images">
      <summary>
            Images of this personality.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Media.Images.Default">
      <summary>Image (web URL); unspecified dimension</summary>
      <example>"http://example.com/~jsmith/image.jpg"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Media.Images.Aspect11">
      <summary>Image (web URL) with equal width and height</summary>
      <example>"http://example.com/~jsmith/image.jpg"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Media.Images.Aspect43">
      <summary>Image (web URL) 4:3 aspect ratio - landscape</summary>
      <example>"http://example.com/~jsmith/image.jpg"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Media.Images.Aspect34">
      <summary>Image (web URL) 4:3 aspect ratio - landscape</summary>
      <example>"http://example.com/~jsmith/image.jpg"</example>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes.Media.Images.FavIcon">
      <summary>Image (web URL); favicon format as per FAVICON-W3C. The format for the image must be 16x16 pixels or 32x32 pixels, using either 8-bit or 24-bit colors. The format of the image must be one of PNG (a W3C standard), GIF, or ICO.</summary>
      <example>"http://example.com/~jsmith/image.jpg"</example>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager">
      <summary>
            Manages the processing and construction of OpenID extensions parts.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.typeUriToAliasAffinity">
      <summary>
            This contains a set of aliases that we must be willing to implicitly
            match to namespaces for backward compatibility with other OpenID libraries.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.protocol">
      <summary>
            The version of OpenID that the message is using.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.isReadMode">
      <summary>
            Whether extensions are being read or written.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.aliasManager">
      <summary>
            The alias manager that will track Type URI to alias mappings.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.extensions">
      <summary>
            A complex dictionary where the key is the Type URI of the extension,
            and the value is another dictionary of the name/value args of the extension.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.CreateIncomingExtensions(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Creates a <see cref="T:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager" /> instance to process incoming extensions.
            </summary>
      <param name="query">The parameters in the OpenID message.</param>
      <returns>The newly created instance of <see cref="T:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager" />.</returns>
      <requires exception="T:System.ArgumentNullException">query != null</requires>
      <exception cref="T:System.ArgumentNullException">query == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.CreateOutgoingExtensions(DotNetOpenAuth.OpenId.Protocol)">
      <summary>
            Creates a <see cref="T:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager" /> instance to prepare outgoing extensions.
            </summary>
      <param name="protocol">The protocol version used for the outgoing message.</param>
      <returns>
            The newly created instance of <see cref="T:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.AddExtensionArguments(System.String,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Adds query parameters for OpenID extensions to the request directed
            at the OpenID provider.
            </summary>
      <param name="extensionTypeUri">The extension type URI.</param>
      <param name="arguments">The arguments for this extension to add to the message.</param>
      <requires exception="T:System.InvalidOperationException">!this.ReadMode</requires>
      <exception cref="T:System.InvalidOperationException">this.ReadMode</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(extensionTypeUri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(extensionTypeUri)</exception>
      <requires exception="T:System.ArgumentNullException">arguments != null</requires>
      <exception cref="T:System.ArgumentNullException">arguments == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.GetArgumentsToSend(System.Boolean)">
      <summary>
            Gets the actual arguments to add to a querystring or other response,
            where type URI, alias, and actual key/values are all defined.
            </summary>
      <param name="includeOpenIdPrefix">
        <c>true</c> if the generated parameter names should include the 'openid.' prefix.
            This should be <c>true</c> for all but direct response messages.
            </param>
      <returns>A dictionary of key=value pairs to add to the message to carry the extension.</returns>
      <requires exception="T:System.InvalidOperationException">!this.ReadMode</requires>
      <exception cref="T:System.InvalidOperationException">this.ReadMode</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.GetExtensionArguments(System.String)">
      <summary>
            Gets the fields carried by a given OpenId extension.
            </summary>
      <param name="extensionTypeUri">The type URI of the extension whose fields are being queried for.</param>
      <returns>
            The fields included in the given extension, or null if the extension is not present.
            </returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(extensionTypeUri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(extensionTypeUri)</exception>
      <requires exception="T:System.InvalidOperationException">this.ReadMode</requires>
      <exception cref="T:System.InvalidOperationException">!(this.ReadMode)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.ContainsExtension(System.String)">
      <summary>
            Gets whether any arguments for a given extension are present.
            </summary>
      <param name="extensionTypeUri">The extension Type URI in question.</param>
      <returns>
        <c>true</c> if this extension is present; <c>false</c> otherwise.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.GetExtensionTypeUris">
      <summary>
            Gets the type URIs of all discovered extensions in the message.
            </summary>
      <returns>A sequence of the type URIs.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ExtensionArgumentsManager.ReadMode">
      <summary>
            Gets a value indicating whether the extensions are being read (as opposed to written).
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.IClientScriptExtensionResponse">
      <summary>
            An interface that OpenID extensions can implement to allow authentication response
            messages with included extensions to be processed by Javascript on the user agent.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.IClientScriptExtensionResponse.InitializeJavaScriptData(DotNetOpenAuth.Messaging.IProtocolMessageWithExtensions)">
      <summary>
            Reads the extension information on an authentication response from the provider.
            </summary>
      <param name="response">The incoming OpenID response carrying the extension.</param>
      <returns>
            A Javascript snippet that when executed on the user agent returns an object with
            the information deserialized from the extension response.
            </returns>
      <remarks>
            This method is called <b>before</b> the signature on the assertion response has been
            verified.  Therefore all information in these fields should be assumed unreliable
            and potentially falsified.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationRequest">
      <summary>
            An extension to include with an authentication request in order to also 
            obtain authorization to access user data at the combined OpenID Provider
            and Service Provider.
            </summary>
      <remarks>
        <para>When requesting OpenID Authentication via the protocol mode "checkid_setup" 
            or "checkid_immediate", this extension can be used to request that the end 
            user authorize an OAuth access token at the same time as an OpenID 
            authentication. This is done by sending the following parameters as part 
            of the OpenID request. (Note that the use of "oauth" as part of the parameter 
            names here and in subsequent sections is just an example. See Section 5 for details.)</para>
        <para>See section 8.</para>
      </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationRequest.Factory">
      <summary>
            The factory method that may be used in deserialization of this message.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationRequest.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationRequest" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationRequest.Consumer">
      <summary>
            Gets or sets the consumer key agreed upon between the Consumer and Service Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationRequest.Scope">
      <summary>
            Gets or sets a string that encodes, in a way possibly specific to the Combined Provider, one or more scopes for the OAuth token expected in the authentication response.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationApprovedResponse">
      <summary>
            The OAuth response that a Provider may include with a positive 
            OpenID identity assertion with an approved request token.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationApprovedResponse.Factory">
      <summary>
            The factory method that may be used in deserialization of this message.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationApprovedResponse.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationApprovedResponse" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationApprovedResponse.RequestToken">
      <summary>
            Gets or sets the user-approved request token.
            </summary>
      <value>The request token.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationApprovedResponse.Scope">
      <summary>
            Gets or sets a string that encodes, in a way possibly specific to the Combined Provider, one or more scopes that the returned request token is valid for. This will typically indicate a subset of the scopes requested in Section 8.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.OAuth.Constants">
      <summary>
            Constants used in the OpenID OAuth extension.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.OAuth.Constants.TypeUri">
      <summary>
            The TypeURI for the OpenID OAuth extension.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.OAuth.Constants.RequestTokenParameter">
      <summary>
            The name of the parameter that carries the request token in the response.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationDeclinedResponse">
      <summary>
            The OAuth response that a Provider should include with a positive 
            OpenID identity assertion when OAuth authorization was declined.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationDeclinedResponse.Factory">
      <summary>
            The factory method that may be used in deserialization of this message.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationDeclinedResponse.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.OAuth.AuthorizationDeclinedResponse" /> class.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.OpenIdExtensionFactoryAggregator">
      <summary>
            An OpenID extension factory that only delegates extension
            instantiation requests to other factories.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.OpenIdExtensionFactoryAggregator.factories">
      <summary>
            The list of factories this factory delegates to.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.OpenIdExtensionFactoryAggregator.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.OpenIdExtensionFactoryAggregator" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.OpenIdExtensionFactoryAggregator.Create(System.String,System.Collections.Generic.IDictionary{System.String,System.String},DotNetOpenAuth.Messaging.IProtocolMessageWithExtensions,System.Boolean)">
      <summary>
            Creates a new instance of some extension based on the received extension parameters.
            </summary>
      <param name="typeUri">The type URI of the extension.</param>
      <param name="data">The parameters associated specifically with this extension.</param>
      <param name="baseMessage">The OpenID message carrying this extension.</param>
      <param name="isProviderRole">A value indicating whether this extension is being received at the OpenID Provider.</param>
      <returns>
            An instance of <see cref="T:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension" /> if the factory recognizes
            the extension described in the input parameters; <c>null</c> otherwise.
            </returns>
      <remarks>
            This factory method need only initialize properties in the instantiated extension object
            that are not bound using <see cref="T:DotNetOpenAuth.Messaging.MessagePartAttribute" />.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.OpenIdExtensionFactoryAggregator.LoadFromConfiguration">
      <summary>
            Loads the default factory and additional ones given by the configuration.
            </summary>
      <returns>A new instance of <see cref="T:DotNetOpenAuth.OpenId.Extensions.OpenIdExtensionFactoryAggregator" />.</returns>
      <ensures>Contract.Result&lt;OpenIdExtensionFactoryAggregator&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.OpenIdExtensionFactoryAggregator.Factories">
      <summary>
            Gets the extension factories that this aggregating factory delegates to.
            </summary>
      <value>A list of factories.  May be empty, but never null.</value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.StandardOpenIdExtensionFactory">
      <summary>
            An OpenID extension factory that supports registration so that third-party
            extensions can add themselves to this library's supported extension list.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.StandardOpenIdExtensionFactory.registeredExtensions">
      <summary>
            A collection of the registered OpenID extensions.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.StandardOpenIdExtensionFactory.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.StandardOpenIdExtensionFactory" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.StandardOpenIdExtensionFactory.Create(System.String,System.Collections.Generic.IDictionary{System.String,System.String},DotNetOpenAuth.Messaging.IProtocolMessageWithExtensions,System.Boolean)">
      <summary>
            Creates a new instance of some extension based on the received extension parameters.
            </summary>
      <param name="typeUri">The type URI of the extension.</param>
      <param name="data">The parameters associated specifically with this extension.</param>
      <param name="baseMessage">The OpenID message carrying this extension.</param>
      <param name="isProviderRole">A value indicating whether this extension is being received at the OpenID Provider.</param>
      <returns>
            An instance of <see cref="T:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension" /> if the factory recognizes
            the extension described in the input parameters; <c>null</c> otherwise.
            </returns>
      <remarks>
            This factory method need only initialize properties in the instantiated extension object
            that are not bound using <see cref="T:DotNetOpenAuth.Messaging.MessagePartAttribute" />.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.StandardOpenIdExtensionFactory.RegisterExtension(DotNetOpenAuth.OpenId.Extensions.StandardOpenIdExtensionFactory.CreateDelegate)">
      <summary>
            Registers a new extension delegate.
            </summary>
      <param name="creator">The factory method that can create the extension.</param>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.StandardOpenIdExtensionFactory.CreateDelegate">
      <summary>
            A delegate that individual extensions may register with this factory.
            </summary>
      <param name="typeUri">The type URI of the extension.</param>
      <param name="data">The parameters associated specifically with this extension.</param>
      <param name="baseMessage">The OpenID message carrying this extension.</param>
      <param name="isProviderRole">A value indicating whether this extension is being received at the OpenID Provider.</param>
      <returns>
            An instance of <see cref="T:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension" /> if the factory recognizes
            the extension described in the input parameters; <c>null</c> otherwise.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.AuthenticationPolicies">
      <summary>
            Well-known authentication policies defined in the PAPE extension spec or by a recognized
            standards body.
            </summary>
      <remarks>
            This is a class of constants rather than a flags enum because policies may be
            freely defined and used by anyone, just by using a new Uri.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.AuthenticationPolicies.PhishingResistant">
      <summary>
            An authentication mechanism where the End User does not provide a shared secret to a party potentially under the control of the Relying Party. (Note that the potentially malicious Relying Party controls where the User-Agent is redirected to and thus may not send it to the End User's actual OpenID Provider).
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.AuthenticationPolicies.MultiFactor">
      <summary>
            An authentication mechanism where the End User authenticates to the OpenID Provider by providing over one authentication factor. Common authentication factors are something you know, something you have, and something you are. An example would be authentication using a password and a software token or digital certificate.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.AuthenticationPolicies.PhysicalMultiFactor">
      <summary>
            An authentication mechanism where the End User authenticates to the OpenID Provider by providing over one authentication factor where at least one of the factors is a physical factor such as a hardware device or biometric. Common authentication factors are something you know, something you have, and something you are. This policy also implies the Multi-Factor Authentication policy (http://schemas.openid.net/pape/policies/2007/06/multi-factor) and both policies MAY BE specified in conjunction without conflict. An example would be authentication using a password and a hardware token.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.AuthenticationPolicies.PrivatePersonalIdentifier">
      <summary>
            Indicates that the Provider MUST use a pair-wise pseudonym for the user that is persistent 
            and unique across the requesting realm as the openid.claimed_id and openid.identity (see Section 4.2).
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.AuthenticationPolicies.USGovernmentTrustLevel1">
      <summary>
            Indicates that the OP MUST only respond with a positive assertion if the requirements demonstrated 
            by the OP to obtain certification by a Federally adopted Trust Framework Provider have been met.
            </summary>
      <remarks>
            Notwithstanding the RP may request this authentication policy, the RP MUST still
            verify that this policy appears in the positive assertion response rather than assume the OP
            recognized and complied with the request.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.AuthenticationPolicies.NoPersonallyIdentifiableInformation">
      <summary>
            Indicates that the OP MUST not include any OpenID Attribute Exchange or Simple Registration 
            information regarding the user in the assertion.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.AuthenticationPolicies.None">
      <summary>
            Used in a PAPE response to indicate that no PAPE authentication policies could be satisfied.
            </summary>
      <remarks>
            Used internally by the PAPE extension, so that users don't have to know about it.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.Constants">
      <summary>
            OpenID Provider Authentication Policy extension constants.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.Constants.TypeUri">
      <summary>
            The namespace used by this extension in messages.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.Constants.CompatibilityAlias">
      <summary>
            The namespace alias to use for OpenID 1.x interop, where aliases are not defined in the message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.Constants.AuthLevelNamespaceDeclarationPrefix">
      <summary>
            The string to prepend on an Auth Level Type alias definition.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.Constants.AssuranceLevels">
      <summary>
            Well-known assurance level Type URIs.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.Constants.AssuranceLevels.NistTypeUri">
      <summary>
            The Type URI of the NIST assurance level.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.Constants.AssuranceLevels.PreferredTypeUriToAliasMap">
      <summary>
            A mapping between the PAPE TypeURI and the alias to use if 
            possible for backward compatibility reasons.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.Constants.RequestParameters">
      <summary>
            Parameters to be included with PAPE requests.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.Constants.RequestParameters.MaxAuthAge">
      <summary>
            Optional. If the End User has not actively authenticated to the OP within the number of seconds specified in a manner fitting the requested policies, the OP SHOULD authenticate the End User for this request.
            </summary>
      <value>Integer value greater than or equal to zero in seconds.</value>
      <remarks>
            The OP should realize that not adhering to the request for re-authentication most likely means that the End User will not be allowed access to the services provided by the RP. If this parameter is absent in the request, the OP should authenticate the user at its own discretion.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.Constants.RequestParameters.PreferredAuthPolicies">
      <summary>
            Zero or more authentication policy URIs that the OP SHOULD conform to when authenticating the user. If multiple policies are requested, the OP SHOULD satisfy as many as it can.
            </summary>
      <value>Space separated list of authentication policy URIs.</value>
      <remarks>
            If no policies are requested, the RP may be interested in other information such as the authentication age.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.Constants.RequestParameters.PreferredAuthLevelTypes">
      <summary>
            The space separated list of the name spaces of the custom Assurance Level that RP requests, in the order of its preference.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.DateTimeEncoder">
      <summary>
            An encoder/decoder design for DateTimes that must conform to the PAPE spec.
            </summary>
      <remarks>
            The timestamp MUST be formatted as specified in section 5.6 of [RFC3339] (Klyne, G. and C. Newman, “Date and Time on the Internet: Timestamps,” .), with the following restrictions:
             * All times must be in the UTC timezone, indicated with a "Z".
             * No fractional seconds are allowed
            For example: 2005-05-15T17:11:51Z
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.DateTimeEncoder.PermissibleDateTimeFormats">
      <summary>
            An array of the date/time formats allowed by the PAPE extension.
            </summary>
      <remarks>
            TODO: This array of formats is not yet a complete list.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.DateTimeEncoder.Encode(System.Object)">
      <summary>
            Encodes the specified value.
            </summary>
      <param name="value">The value.  Guaranteed to never be null.</param>
      <returns>
            The <paramref name="value" /> in string form, ready for message transport.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder.Encode(System.Object)" inheritedFromTypeName="IMessagePartEncoder" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.DateTimeEncoder.Decode(System.String)">
      <summary>
            Decodes the specified value.
            </summary>
      <param name="value">The string value carried by the transport.  Guaranteed to never be null, although it may be empty.</param>
      <returns>
            The deserialized form of the given string.
            </returns>
      <exception cref="T:System.FormatException">Thrown when the string value given cannot be decoded into the required object type.</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder.Decode(System.String)" inheritedFromTypeName="IMessagePartEncoder" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.NistAssuranceLevel">
      <summary>
            Descriptions for NIST-defined levels of assurance that a credential
            has not been compromised and therefore the extent to which an
            authentication assertion can be trusted.
            </summary>
      <remarks>
        <para>One using this enum should review the following publication for details
            before asserting or interpreting what these levels signify, notwithstanding
            the brief summaries attached to each level in DotNetOpenAuth documentation.
            http://csrc.nist.gov/publications/nistpubs/800-63/SP800-63V1_0_2.pdf</para>
        <para>
            See PAPE spec Appendix A.1.2 (NIST Assurance Levels) for high-level example classifications of authentication methods within the defined levels.
            </para>
      </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.NistAssuranceLevel.InsufficientForLevel1">
      <summary>
            Not an assurance level defined by NIST, but rather SHOULD be used to 
            signify that the OP recognizes the parameter and the End User 
            authentication did not meet the requirements of Level 1.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.NistAssuranceLevel.Level1">
      <summary>
            See this document for a thorough description:
            http://csrc.nist.gov/publications/nistpubs/800-63/SP800-63V1_0_2.pdf
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.NistAssuranceLevel.Level2">
      <summary>
            See this document for a thorough description:
            http://csrc.nist.gov/publications/nistpubs/800-63/SP800-63V1_0_2.pdf
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.NistAssuranceLevel.Level3">
      <summary>
            See this document for a thorough description:
            http://csrc.nist.gov/publications/nistpubs/800-63/SP800-63V1_0_2.pdf
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.NistAssuranceLevel.Level4">
      <summary>
            See this document for a thorough description:
            http://csrc.nist.gov/publications/nistpubs/800-63/SP800-63V1_0_2.pdf
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PapeUtilities">
      <summary>
            Utility methods for use by the PAPE extension.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PapeUtilities.FindIncomingAliases(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Looks at the incoming fields and figures out what the aliases and name spaces for auth level types are.
            </summary>
      <param name="fields">The incoming message data in which to discover TypeURIs and aliases.</param>
      <returns>The <see cref="T:DotNetOpenAuth.OpenId.Extensions.AliasManager" /> initialized with the given data.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PapeUtilities.ConcatenateListOfElements(System.Collections.Generic.IEnumerable{System.String})">
      <summary>
            Concatenates a sequence of strings using a space as a separator.
            </summary>
      <param name="values">The elements to concatenate together..</param>
      <returns>The concatenated string of elements.</returns>
      <exception cref="T:System.FormatException">Thrown if any element in the sequence includes a space.</exception>
      <requires exception="T:System.ArgumentNullException">values != null</requires>
      <exception cref="T:System.ArgumentNullException">values == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest">
      <summary>
            The PAPE request part of an OpenID Authentication request message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest.Factory">
      <summary>
            The factory method that may be used in deserialization of this message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest.preferredPoliciesString">
      <summary>
            The transport field for the RP's preferred authentication policies.
            </summary>
      <remarks>
            This field is written to/read from during custom serialization.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest.DotNetOpenAuth#Messaging#IMessageWithEvents#OnSending">
      <summary>
            Called when the message is about to be transmitted,
            before it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest.DotNetOpenAuth#Messaging#IMessageWithEvents#OnReceiving">
      <summary>
            Called when the message has been received,
            after it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest.Equals(System.Object)">
      <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest.GetHashCode">
      <summary>
            Serves as a hash function for a particular type.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest.SerializePolicies(System.Collections.Generic.IEnumerable{System.String})">
      <summary>
            Serializes the policies as a single string per the PAPE spec..
            </summary>
      <param name="policies">The policies to include in the list.</param>
      <returns>The concatenated string of the given policies.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest.SerializeAuthLevels(System.Collections.Generic.IList{System.String},DotNetOpenAuth.OpenId.Extensions.AliasManager)">
      <summary>
            Serializes the auth levels to a list of aliases.
            </summary>
      <param name="preferredAuthLevelTypes">The preferred auth level types.</param>
      <param name="aliases">The alias manager.</param>
      <returns>A space-delimited list of aliases.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest.MaximumAuthenticationAge">
      <summary>
            Gets or sets the maximum acceptable time since the End User has 
            actively authenticated to the OP in a manner fitting the requested
            policies, beyond which the Provider SHOULD authenticate the 
            End User for this request.
            </summary>
      <remarks>
            The OP should realize that not adhering to the request for re-authentication
            most likely means that the End User will not be allowed access to the 
            services provided by the RP. If this parameter is absent in the request, 
            the OP should authenticate the user at its own discretion.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest.PreferredPolicies">
      <summary>
            Gets the list of authentication policy URIs that the OP SHOULD 
            conform to when authenticating the user. If multiple policies are 
            requested, the OP SHOULD satisfy as many as it can.
            </summary>
      <value>List of authentication policy URIs obtainable from 
            the <see cref="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.AuthenticationPolicies" /> class or from a custom 
            list.</value>
      <remarks>
            If no policies are requested, the RP may be interested in other 
            information such as the authentication age.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyRequest.PreferredAuthLevelTypes">
      <summary>
            Gets the namespaces of the custom Assurance Level the 
            Relying Party requests, in the order of its preference.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse">
      <summary>
            The PAPE response part of an OpenID Authentication response message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.AuthLevelAliasPrefix">
      <summary>
            The first part of a parameter name that gives the custom string value for
            the assurance level.  The second part of the parameter name is the alias for
            that assurance level.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.Factory">
      <summary>
            The factory method that may be used in deserialization of this message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.actualPoliciesString">
      <summary>
            One or more authentication policy URIs that the OP conformed to when authenticating the End User.
            </summary>
      <value>Space separated list of authentication policy URIs.</value>
      <remarks>
            If no policies were met though the OP wishes to convey other information in the response, this parameter MUST be included with the value of "none".
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.authenticationTimeUtc">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.AuthenticationTimeUtc" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.DotNetOpenAuth#Messaging#IMessageWithEvents#OnSending">
      <summary>
            Called when the message is about to be transmitted,
            before it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.DotNetOpenAuth#Messaging#IMessageWithEvents#OnReceiving">
      <summary>
            Called when the message has been received,
            after it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.Equals(System.Object)">
      <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.GetHashCode">
      <summary>
            Serves as a hash function for a particular type.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.SerializePolicies(System.Collections.Generic.IList{System.String})">
      <summary>
            Serializes the applied policies for transmission from the Provider
            to the Relying Party.
            </summary>
      <param name="policies">The applied policies.</param>
      <returns>A space-delimited list of applied policies.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.ActualPolicies">
      <summary>
            Gets a list of authentication policy URIs that the 
            OP conformed to when authenticating the End User.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.AuthenticationTimeUtc">
      <summary>
            Gets or sets the most recent timestamp when the End User has 
            actively authenticated to the OP in a manner fitting the asserted policies.
            </summary>
      <remarks>
            If the RP's request included the "openid.max_auth_age" parameter 
            then the OP MUST include "openid.auth_time" in its response. 
            If "openid.max_auth_age" was not requested, the OP MAY choose to include 
            "openid.auth_time" in its response.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.NistAssuranceLevel">
      <summary>
            Gets or sets the Assurance Level as defined by the National 
            Institute of Standards and Technology (NIST) in Special Publication 
            800-63 (Burr, W., Dodson, D., and W. Polk, Ed., “Electronic 
            Authentication Guideline,” April 2006.) [NIST_SP800‑63] corresponding 
            to the authentication method and policies employed by the OP when 
            authenticating the End User.
            </summary>
      <remarks>
            See PAPE spec Appendix A.1.2 (NIST Assurance Levels) for high-level 
            example classifications of authentication methods within the defined 
            levels.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.AssuranceLevels">
      <summary>
            Gets a dictionary where keys are the authentication level type URIs and
            the values are the per authentication level defined custom value.
            </summary>
      <remarks>
            A very common key is <see cref="F:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.Constants.AssuranceLevels.NistTypeUri" />
            and values for this key are available in <see cref="P:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.NistAssuranceLevel" />.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.PolicyResponse.IsSignedByProvider">
      <summary>
            Gets a value indicating whether this extension is signed by the Provider.
            </summary>
      <value>
        <c>true</c> if this instance is signed by the Provider; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.TimespanSecondsEncoder">
      <summary>
            Encodes and decodes the <see cref="T:System.TimeSpan" /> as an integer of total seconds.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.TimespanSecondsEncoder.Encode(System.Object)">
      <summary>
            Encodes the specified value.
            </summary>
      <param name="value">The value.  Guaranteed to never be null.</param>
      <returns>
            The <paramref name="value" /> in string form, ready for message transport.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder.Encode(System.Object)" inheritedFromTypeName="IMessagePartEncoder" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy.TimespanSecondsEncoder.Decode(System.String)">
      <summary>
            Decodes the specified value.
            </summary>
      <param name="value">The string value carried by the transport.  Guaranteed to never be null, although it may be empty.</param>
      <returns>
            The deserialized form of the given string.
            </returns>
      <exception cref="T:System.FormatException">Thrown when the string value given cannot be decoded into the required object type.</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder.Decode(System.String)" inheritedFromTypeName="IMessagePartEncoder" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest">
      <summary>
            Carries the request/require/none demand state of the simple registration fields.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.Factory">
      <summary>
            The factory method that may be used in deserialization of this message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.typeUriDeserializedFrom">
      <summary>
            The type URI that this particular (deserialized) extension was read in using,
            allowing a response to alter be crafted using the same type URI.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest" /> class
            by deserializing from a message.
            </summary>
      <param name="typeUri">The type URI this extension was recognized by in the OpenID message.</param>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(typeUri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(typeUri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.op_Equality(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest,DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest)">
      <summary>
            Tests equality between two <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest" /> structs.
            </summary>
      <param name="one">One instance to compare.</param>
      <param name="other">Another instance to compare.</param>
      <returns>The result of the operator.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.op_Inequality(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest,DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest)">
      <summary>
            Tests inequality between two <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest" /> structs.
            </summary>
      <param name="one">One instance to compare.</param>
      <param name="other">Another instance to compare.</param>
      <returns>The result of the operator.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.Equals(System.Object)">
      <summary>
            Tests equality between two <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest" /> structs.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.GetHashCode">
      <summary>
            Serves as a hash function for a particular type.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.ToString">
      <summary>
            Renders the requested information as a string.
            </summary>
      <returns>
            A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </returns>
      <ensures inheritedFrom="M:System.Object.ToString" inheritedFromTypeName="Object">Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.CreateResponse">
      <summary>
            Prepares a Simple Registration response extension that is compatible with the
            version of Simple Registration used in the request message.
            </summary>
      <returns>The newly created <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse" /> instance.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.SetProfileRequestFromList(System.Collections.Generic.IEnumerable{System.String},DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.DemandLevel)">
      <summary>
            Sets the profile request properties according to a list of
            field names that might have been passed in the OpenId query dictionary.
            </summary>
      <param name="fieldNames">
            The list of field names that should receive a given 
            <paramref name="requestLevel" />.  These field names should match 
            the OpenId specification for field names, omitting the 'openid.sreg' prefix.
            </param>
      <param name="requestLevel">The none/request/require state of the listed fields.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.AssembleProfileFields(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.DemandLevel)">
      <summary>
            Assembles the profile parameter names that have a given <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.DemandLevel" />.
            </summary>
      <param name="level">The demand level (request, require, none).</param>
      <returns>An array of the profile parameter names that meet the criteria.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.PolicyUrl">
      <summary>
            Gets or sets the URL the consumer site provides for the authenticating user to review
            for how his claims will be used by the consumer web site.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.Nickname">
      <summary>
            Gets or sets the level of interest a relying party has in the nickname of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.Email">
      <summary>
            Gets or sets the level of interest a relying party has in the email of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.FullName">
      <summary>
            Gets or sets the level of interest a relying party has in the full name of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.BirthDate">
      <summary>
            Gets or sets the level of interest a relying party has in the birthdate of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.Gender">
      <summary>
            Gets or sets the level of interest a relying party has in the gender of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.PostalCode">
      <summary>
            Gets or sets the level of interest a relying party has in the postal code of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.Country">
      <summary>
            Gets or sets the level of interest a relying party has in the Country of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.Language">
      <summary>
            Gets or sets the level of interest a relying party has in the language of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.TimeZone">
      <summary>
            Gets or sets the level of interest a relying party has in the time zone of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.Synthesized">
      <summary>
            Gets or sets a value indicating whether this <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest" /> instance
            is synthesized from an AX request at the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.RequiredList">
      <summary>
            Gets or sets the value of the sreg.required parameter.
            </summary>
      <value>A comma-delimited list of sreg fields.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.OptionalList">
      <summary>
            Gets or sets the value of the sreg.optional parameter.
            </summary>
      <value>A comma-delimited list of sreg fields.</value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse">
      <summary>
            A struct storing Simple Registration field values describing an
            authenticating user.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.Factory">
      <summary>
            The factory method that may be used in deserialization of this message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.birthDateValidator">
      <summary>
            The allowed format for birthdates.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.birthDateRaw">
      <summary>
            Storage for the raw string birthdate value.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.birthDate">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.BirthDate" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.culture">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.Culture" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse" /> class.
            </summary>
      <param name="typeUriToUse">
            The type URI that must be used to identify this extension in the response message.
            This value should be the same one the relying party used to send the extension request.
            </param>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(typeUriToUse)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(typeUriToUse)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.op_Equality(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse,DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse)">
      <summary>
            Tests equality of two <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse" /> objects.
            </summary>
      <param name="one">One instance to compare.</param>
      <param name="other">Another instance to compare.</param>
      <returns>The result of the operator.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.op_Inequality(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse,DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse)">
      <summary>
            Tests inequality of two <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse" /> objects.
            </summary>
      <param name="one">One instance to compare.</param>
      <param name="other">Another instance to compare.</param>
      <returns>The result of the operator.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.Equals(System.Object)">
      <summary>
            Tests equality of two <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse" /> objects.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.GetHashCode">
      <summary>
            Serves as a hash function for a particular type.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.DotNetOpenAuth#OpenId#Extensions#IClientScriptExtensionResponse#InitializeJavaScriptData(DotNetOpenAuth.Messaging.IProtocolMessageWithExtensions)">
      <summary>
            Reads the extension information on an authentication response from the provider.
            </summary>
      <param name="response">The incoming OpenID response carrying the extension.</param>
      <returns>
            A Javascript snippet that when executed on the user agent returns an object with
            the information deserialized from the extension response.
            </returns>
      <remarks>
            This method is called <b>before</b> the signature on the assertion response has been
            verified.  Therefore all information in these fields should be assumed unreliable
            and potentially falsified.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.DotNetOpenAuth#Messaging#IMessageWithEvents#OnSending">
      <summary>
            Called when the message is about to be transmitted,
            before it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.DotNetOpenAuth#Messaging#IMessageWithEvents#OnReceiving">
      <summary>
            Called when the message has been received,
            after it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.EmptyToNull(System.String)">
      <summary>
            Translates an empty string value to null, or passes through non-empty values.
            </summary>
      <param name="value">The value to consider changing to null.</param>
      <returns>Either null or a non-empty string.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.Nickname">
      <summary>
            Gets or sets the nickname the user goes by.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.Email">
      <summary>
            Gets or sets the user's email address.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.FullName">
      <summary>
            Gets or sets the full name of a user as a single string.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.BirthDate">
      <summary>
            Gets or sets the user's birthdate.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.BirthDateRaw">
      <summary>
            Gets or sets the raw birth date string given by the extension.
            </summary>
      <value>A string in the format yyyy-MM-dd.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.Gender">
      <summary>
            Gets or sets the gender of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.PostalCode">
      <summary>
            Gets or sets the zip code / postal code of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.Country">
      <summary>
            Gets or sets the country of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.Language">
      <summary>
            Gets or sets the primary/preferred language of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.TimeZone">
      <summary>
            Gets or sets the user's timezone.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.MailAddress">
      <summary>
            Gets a combination of the user's full name and email address.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.Culture">
      <summary>
            Gets or sets a combination o the language and country of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse.IsSignedByProvider">
      <summary>
            Gets a value indicating whether this extension is signed by the Provider.
            </summary>
      <value>
        <c>true</c> if this instance is signed by the Provider; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants">
      <summary>
            Simple Registration constants
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.AdditionalTypeUris">
      <summary>
            Additional type URIs that this extension is sometimes known by remote parties.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.DemandLevel">
      <summary>
            Specifies what level of interest a relying party has in obtaining the value
            of a given field offered by the Simple Registration extension.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.DemandLevel.NoRequest">
      <summary>
            The relying party has no interest in obtaining this field.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.DemandLevel.Request">
      <summary>
            The relying party would like the value of this field, but wants
            the Provider to display the field to the user as optionally provided.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.DemandLevel.Require">
      <summary>
            The relying party considers this a required field as part of
            authentication.  The Provider and/or user agent MAY still choose to
            not provide the value of the field however, according to the
            Simple Registration extension specification.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Gender">
      <summary>
            Indicates the gender of a user.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Gender.Male">
      <summary>
            The user is male.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Gender.Female">
      <summary>
            The user is female.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.GenderEncoder">
      <summary>
            Encodes/decodes the Simple Registration Gender type to its string representation.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.GenderEncoder.Encode(System.Object)">
      <summary>
            Encodes the specified value.
            </summary>
      <param name="value">The value.  Guaranteed to never be null.</param>
      <returns>
            The <paramref name="value" /> in string form, ready for message transport.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder.Encode(System.Object)" inheritedFromTypeName="IMessagePartEncoder" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.GenderEncoder.Decode(System.String)">
      <summary>
            Decodes the specified value.
            </summary>
      <param name="value">The string value carried by the transport.  Guaranteed to never be null, although it may be empty.</param>
      <returns>
            The deserialized form of the given string.
            </returns>
      <exception cref="T:System.FormatException">Thrown when the string value given cannot be decoded into the required object type.</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.Reflection.IMessagePartEncoder.Decode(System.String)" inheritedFromTypeName="IMessagePartEncoder" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.UI.UIConstants">
      <summary>
            Constants used to support the UI extension.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.UI.UIConstants.UITypeUri">
      <summary>
            The type URI associated with this extension.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.UI.UIConstants.PopupSupported">
      <summary>
            The Type URI that appears in an XRDS document when the OP supports popups through the UI extension.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.UI.UIConstants.LangPrefSupported">
      <summary>
            The Type URI that appears in an XRDS document when the OP supports the RP
            specifying the user's preferred language through the UI extension.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.UI.UIConstants.IconSupported">
      <summary>
            The Type URI that appears in the XRDS document when the OP supports the RP
            specifying the icon for the OP to display during authentication through the UI extension.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.UI.UIUtilities">
      <summary>
            Constants used in implementing support for the UI extension.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.UI.UIUtilities.PopupWidth">
      <summary>
            The required width of the popup window the relying party creates for the provider.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.UI.UIUtilities.PopupHeight">
      <summary>
            The required height of the popup window the relying party creates for the provider.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.UI.UIUtilities.GetWindowPopupScript(DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty,DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest,System.String)">
      <summary>
            Gets the <c>window.open</c> javascript snippet to use to open a popup window
            compliant with the UI extension.
            </summary>
      <param name="relyingParty">The relying party.</param>
      <param name="request">The authentication request to place in the window.</param>
      <param name="windowName">The name to assign to the popup window.</param>
      <returns>A string starting with 'window.open' and forming just that one method call.</returns>
      <requires exception="T:System.ArgumentNullException">relyingParty != null</requires>
      <exception cref="T:System.ArgumentNullException">relyingParty == null</exception>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(windowName)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(windowName)</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.UI.UIModes">
      <summary>
            Valid values for the <c>mode</c> parameter of the OpenID User Interface extension.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.UI.UIModes.Popup">
      <summary>
            Indicates that the Provider's authentication page appears in a popup window.
            </summary>
      <value>The constant <c>"popup"</c>.</value>
      <remarks>
        <para>The RP SHOULD create the popup to be 450 pixels wide and 500 pixels tall. The popup MUST have the address bar displayed, and MUST be in a standalone browser window. The contents of the popup MUST NOT be framed by the RP. </para>
        <para>The RP SHOULD open the popup centered above the main browser window, and SHOULD dim the contents of the parent window while the popup is active. The RP SHOULD ensure that the user is not surprised by the appearance of the popup, and understands how to interact with it. </para>
        <para>To keep the user popup user experience consistent, it is RECOMMENDED that the OP does not resize the popup window unless the OP requires additional space to show special features that are not usually displayed as part of the default popup user experience. </para>
        <para>The OP MAY close the popup without returning a response to the RP. Closing the popup without sending a response should be interpreted as a negative assertion. </para>
        <para>The response to an authentication request in a popup is unchanged from [OpenID 2.0] (OpenID 2.0 Workgroup, “OpenID 2.0,” .). Relying Parties detecting that the popup was closed without receiving an authentication response SHOULD interpret the close event to be a negative assertion.  </para>
      </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest">
      <summary>
            OpenID User Interface extension 1.0 request message.
            </summary>
      <remarks>
        <para>Implements the extension described by: http://wiki.openid.net/f/openid_ui_extension_draft01.html </para>
        <para>This extension only applies to checkid_setup requests, since checkid_immediate requests display
            no UI to the user. </para>
        <para>For rules about how the popup window should be displayed, please see the documentation of
            <see cref="F:DotNetOpenAuth.OpenId.Extensions.UI.UIModes.Popup" />. </para>
        <para>An RP may determine whether an arbitrary OP supports this extension (and thereby determine
            whether to use a standard full window redirect or a popup) via the
            <see cref="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.IsExtensionSupported``1" /> method.</para>
      </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.Factory">
      <summary>
            The factory method that may be used in deserialization of this message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.additionalTypeUris">
      <summary>
            Additional type URIs that this extension is sometimes known by remote parties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.extraData">
      <summary>
            Backing store for <see cref="P:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.ExtraData" />.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.GetRelyingPartyIconUrls(DotNetOpenAuth.OpenId.Realm,DotNetOpenAuth.Messaging.IDirectWebRequestHandler)">
      <summary>
            Gets the URL of the RP icon for the OP to display.
            </summary>
      <param name="realm">The realm of the RP where the authentication request originated.</param>
      <param name="webRequestHandler">The web request handler to use for discovery.
            Usually available via <see cref="P:DotNetOpenAuth.Messaging.Channel.WebRequestHandler">OpenIdProvider.Channel.WebRequestHandler</see>.</param>
      <returns>
            A sequence of the RP's icons it has available for the Provider to display, in decreasing preferred order.
            </returns>
      <value>The icon URL.</value>
      <remarks>
            This property is automatically set for the OP with the result of RP discovery.
            RPs should set this value by including an entry such as this in their XRDS document.
            <example>
            &lt;Service xmlns="xri://$xrd*($v*2.0)"&gt;
            &lt;Type&gt;http://specs.openid.net/extensions/ui/icon&lt;/Type&gt;
            &lt;URI&gt;http://consumer.example.com/images/image.jpg&lt;/URI&gt;
            &lt;/Service&gt;
            </example></remarks>
      <requires>realm != null</requires>
      <requires>webRequestHandler != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.GetRelyingPartyIconUrls(DotNetOpenAuth.OpenId.Realm,DotNetOpenAuth.OpenId.Provider.OpenIdProvider)">
      <summary>
            Gets the URL of the RP icon for the OP to display.
            </summary>
      <param name="realm">The realm of the RP where the authentication request originated.</param>
      <param name="provider">The Provider instance used to obtain the authentication request.</param>
      <returns>
            A sequence of the RP's icons it has available for the Provider to display, in decreasing preferred order.
            </returns>
      <value>The icon URL.</value>
      <remarks>
            This property is automatically set for the OP with the result of RP discovery.
            RPs should set this value by including an entry such as this in their XRDS document.
            <example>
            &lt;Service xmlns="xri://$xrd*($v*2.0)"&gt;
            &lt;Type&gt;http://specs.openid.net/extensions/ui/icon&lt;/Type&gt;
            &lt;URI&gt;http://consumer.example.com/images/image.jpg&lt;/URI&gt;
            &lt;/Service&gt;
            </example></remarks>
      <requires>realm != null</requires>
      <requires>provider != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.OnSending">
      <summary>
            Called when the message is about to be transmitted,
            before it passes through the channel binding elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.OnReceiving">
      <summary>
            Called when the message has been received,
            after it passes through the channel binding elements.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.LanguagePreference">
      <summary>
            Gets or sets the list of user's preferred languages, sorted in decreasing preferred order.
            </summary>
      <value>The default is the <see cref="P:System.Globalization.CultureInfo.CurrentUICulture" /> of the thread that created this instance.</value>
      <remarks>
            The user's preferred languages as a [BCP 47] language priority list, represented as a comma-separated list of BCP 47 basic language ranges in descending priority order. For instance, the value "fr-CA,fr-FR,en-CA" represents the preference for French spoken in Canada, French spoken in France, followed by English spoken in Canada.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.Mode">
      <summary>
            Gets or sets the style of UI that the RP is hosting the OP's authentication page in.
            </summary>
      <value>Some value from the <see cref="T:DotNetOpenAuth.OpenId.Extensions.UI.UIModes" /> class.  Defaults to <see cref="F:DotNetOpenAuth.OpenId.Extensions.UI.UIModes.Popup" />.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.Icon">
      <summary>
            Gets or sets a value indicating whether the Relying Party has an icon
            it would like the Provider to display to the user while asking them
            whether they would like to log in.
            </summary>
      <value>
        <c>true</c> if the Provider should display an icon; otherwise, <c>false</c>.</value>
      <remarks>
            By default, the Provider displays the relying party's favicon.ico.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.TypeUri">
      <summary>
            Gets the TypeURI the extension uses in the OpenID protocol and in XRDS advertisements.
            </summary>
      <value />
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.get_TypeUri" inheritedFromTypeName="IOpenIdMessageExtension">!String.IsNullOrEmpty(Contract.Result&lt;string&gt;())</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.AdditionalSupportedTypeUris">
      <summary>
            Gets the additional TypeURIs that are supported by this extension, in preferred order.
            May be empty if none other than <see cref="P:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.TypeUri" /> is supported, but
            should not be null.
            </summary>
      <remarks>
            Useful for reading in messages with an older version of an extension.
            The value in the <see cref="P:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.TypeUri" /> property is always checked before
            trying this list.
            If you do support multiple versions of an extension using this method,
            consider adding a CreateResponse method to your request extension class
            so that the response can have the context it needs to remain compatible
            given the version of the extension in the request message.
            The <see cref="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.CreateResponse" /> for an example.
            </remarks>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.get_AdditionalSupportedTypeUris" inheritedFromTypeName="IOpenIdMessageExtension">Contract.Result&lt;IEnumerable&lt;string&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.IsSignedByRemoteParty">
      <summary>
            Gets or sets a value indicating whether this extension was
            signed by the sender.
            </summary>
      <value>
        <c>true</c> if this instance is signed by the sender; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.Version">
      <summary>
            Gets the version of the protocol or extension this message is prepared to implement.
            </summary>
      <value>The value 1.0.</value>
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_Version" inheritedFromTypeName="IMessage">Contract.Result&lt;Version&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Extensions.UI.UIRequest.ExtraData">
      <summary>
            Gets the extra, non-standard Protocol parameters included in the message.
            </summary>
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_ExtraData" inheritedFromTypeName="IMessage">Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.HostMetaDiscoveryService">
      <summary>
            The discovery service to support host-meta based discovery, such as Google Apps for Domains.
            </summary>
      <remarks>
            The spec for this discovery mechanism can be found at:
            http://groups.google.com/group/google-federated-login-api/web/openid-discovery-for-hosted-domains
            and the XMLDSig spec referenced in that spec can be found at:
            http://wiki.oasis-open.org/xri/XrdOne/XmlDsigProfile
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.IIdentifierDiscoveryService">
      <summary>
            A module that provides discovery services for OpenID identifiers.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IIdentifierDiscoveryService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)">
      <summary>
            Performs discovery on the specified identifier.
            </summary>
      <param name="identifier">The identifier to perform discovery on.</param>
      <param name="requestHandler">The means to place outgoing HTTP requests.</param>
      <param name="abortDiscoveryChain">if set to <c>true</c>, no further discovery services will be called for this identifier.</param>
      <returns>
            A sequence of service endpoints yielded by discovery.  Must not be null, but may be empty.
            </returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <requires exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;IdentifierDiscoveryResult&gt;&gt;() != null</ensures>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.LocalHostMetaPath">
      <summary>
            Path to the well-known location of the host-meta document at a domain.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.GoogleHostedHostMeta">
      <summary>
            The URI template for discovery host-meta on domains hosted by
            Google Apps for Domains.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.HostMetaLink">
      <summary>
            The pattern within a host-meta file to look for to obtain the URI to the XRDS document.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.HostMetaDiscoveryService" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)">
      <summary>
            Performs discovery on the specified identifier.
            </summary>
      <param name="identifier">The identifier to perform discovery on.</param>
      <param name="requestHandler">The means to place outgoing HTTP requests.</param>
      <param name="abortDiscoveryChain">if set to <c>true</c>, no further discovery services will be called for this identifier.</param>
      <returns>
            A sequence of service endpoints yielded by discovery.  Must not be null, but may be empty.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.IIdentifierDiscoveryService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)" inheritedFromTypeName="IIdentifierDiscoveryService" exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.IIdentifierDiscoveryService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)" inheritedFromTypeName="IIdentifierDiscoveryService" exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.IIdentifierDiscoveryService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)" inheritedFromTypeName="IIdentifierDiscoveryService">Contract.Result&lt;IEnumerable&lt;IdentifierDiscoveryResult&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.GetXrdElements(DotNetOpenAuth.Xrds.XrdsDocument,System.String)">
      <summary>
            Gets the XRD elements that have a given CanonicalID.
            </summary>
      <param name="document">The XRDS document.</param>
      <param name="canonicalId">The CanonicalID to match on.</param>
      <returns>A sequence of XRD elements.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.GetDescribedByServices(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Xrds.XrdElement})">
      <summary>
            Gets the described-by services in XRD elements.
            </summary>
      <param name="xrds">The XRDs to search.</param>
      <returns>A sequence of services.</returns>
      <requires exception="T:System.ArgumentNullException">xrds != null</requires>
      <exception cref="T:System.ArgumentNullException">xrds == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;ServiceElement&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.GetExternalServices(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Xrds.XrdElement},DotNetOpenAuth.OpenId.UriIdentifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler)">
      <summary>
            Gets the services for an identifier that are described by an external XRDS document.
            </summary>
      <param name="xrds">The XRD elements to search for described-by services.</param>
      <param name="identifier">The identifier under discovery.</param>
      <param name="requestHandler">The request handler.</param>
      <returns>The discovered services.</returns>
      <requires exception="T:System.ArgumentNullException">xrds != null</requires>
      <exception cref="T:System.ArgumentNullException">xrds == null</exception>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <requires exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;IdentifierDiscoveryResult&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.ValidateXmlDSig(DotNetOpenAuth.Xrds.XrdsDocument,DotNetOpenAuth.OpenId.UriIdentifier,DotNetOpenAuth.Messaging.IncomingWebResponse,System.String)">
      <summary>
            Validates the XML digital signature on an XRDS document.
            </summary>
      <param name="document">The XRDS document whose signature should be validated.</param>
      <param name="identifier">The identifier under discovery.</param>
      <param name="response">The response.</param>
      <param name="signingHost">The host name on the certificate that should be used to verify the signature in the XRDS.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the XRDS document has an invalid or a missing signature.</exception>
      <requires exception="T:System.ArgumentNullException">document != null</requires>
      <exception cref="T:System.ArgumentNullException">document == null</exception>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.VerifyCertChain(System.Collections.Generic.List{System.Security.Cryptography.X509Certificates.X509Certificate2})">
      <summary>
            Verifies the cert chain.
            </summary>
      <param name="certs">The certs.</param>
      <remarks>
            This must be in a method of its own because there is a LinkDemand on the <see cref="M:System.Security.Cryptography.X509Certificates.X509Chain.Build(System.Security.Cryptography.X509Certificates.X509Certificate2)" />
            method.  By being in a method of its own, the caller of this method may catch a
            <see cref="T:System.Security.SecurityException" /> that is thrown if we're not running with full trust and execute
            an alternative plan.
            </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the certificate chain is invalid or unverifiable.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.GetXrdsResponse(DotNetOpenAuth.OpenId.UriIdentifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Uri)">
      <summary>
            Gets the XRDS HTTP response for a given identifier.
            </summary>
      <param name="identifier">The identifier.</param>
      <param name="requestHandler">The request handler.</param>
      <param name="xrdsLocation">The location of the XRDS document to retrieve.</param>
      <returns>
            A HTTP response carrying an XRDS document.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the XRDS document could not be obtained.</exception>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <requires exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
      <requires exception="T:System.ArgumentNullException">xrdsLocation != null</requires>
      <exception cref="T:System.ArgumentNullException">xrdsLocation == null</exception>
      <ensures>Contract.Result&lt;IncomingWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.GetXrdsResponse(DotNetOpenAuth.OpenId.UriIdentifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.String@)">
      <summary>
            Gets the XRDS HTTP response for a given identifier.
            </summary>
      <param name="identifier">The identifier.</param>
      <param name="requestHandler">The request handler.</param>
      <param name="signingHost">The host name on the certificate that should be used to verify the signature in the XRDS.</param>
      <returns>A HTTP response carrying an XRDS document, or <c>null</c> if one could not be obtained.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the XRDS document could not be obtained.</exception>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <requires exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.GetXrdsLocation(DotNetOpenAuth.OpenId.UriIdentifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.String@)">
      <summary>
            Gets the location of the XRDS document that describes a given identifier.
            </summary>
      <param name="identifier">The identifier under discovery.</param>
      <param name="requestHandler">The request handler.</param>
      <param name="signingHost">The host name on the certificate that should be used to verify the signature in the XRDS.</param>
      <returns>An absolute URI, or <c>null</c> if one could not be determined.</returns>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <requires exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.GetHostMeta(DotNetOpenAuth.OpenId.UriIdentifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.String@)">
      <summary>
            Gets the host-meta for a given identifier.
            </summary>
      <param name="identifier">The identifier.</param>
      <param name="requestHandler">The request handler.</param>
      <param name="signingHost">The host name on the certificate that should be used to verify the signature in the XRDS.</param>
      <returns>
            The host-meta response, or <c>null</c> if no host-meta document could be obtained.
            </returns>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <requires exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.GetHostMetaLocations(DotNetOpenAuth.OpenId.UriIdentifier)">
      <summary>
            Gets the URIs authorized to host host-meta documents on behalf of a given domain.
            </summary>
      <param name="identifier">The identifier.</param>
      <returns>A sequence of URIs that MAY provide the host-meta for a given identifier.</returns>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.TrustedHostMetaProxies">
      <summary>
            Gets the set of URI templates to use to contact host-meta hosting proxies
            for domain discovery.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.UseGoogleHostedHostMeta">
      <summary>
            Gets or sets a value indicating whether to trust Google to host domains' host-meta documents.
            </summary>
      <remarks>
            This property is just a convenient mechanism for checking or changing the set of
            trusted host-meta proxies in the <see cref="P:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.TrustedHostMetaProxies" /> property.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.HostMetaProxy">
      <summary>
            A description of a web server that hosts host-meta documents.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.HostMetaProxy.#ctor(System.String,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.HostMetaProxy" /> class.
            </summary>
      <param name="proxyFormat">The proxy formatting string.</param>
      <param name="signingHostFormat">The signing host formatting string.</param>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(proxyFormat)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(proxyFormat)</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(signingHostFormat)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(signingHostFormat)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.HostMetaProxy.GetProxy(DotNetOpenAuth.OpenId.UriIdentifier)">
      <summary>
            Gets the absolute proxy URI.
            </summary>
      <param name="identifier">The identifier being discovered.</param>
      <returns>The an absolute URI.</returns>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.HostMetaProxy.GetSigningHost(DotNetOpenAuth.OpenId.UriIdentifier)">
      <summary>
            Gets the signing host URI.
            </summary>
      <param name="identifier">The identifier being discovered.</param>
      <returns>A host name.</returns>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.HostMetaProxy.Equals(System.Object)">
      <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.HostMetaProxy.GetHashCode">
      <summary>
            Serves as a hash function for a particular type.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.HostMetaProxy.ProxyFormat">
      <summary>
            Gets the URL of the host-meta proxy.
            </summary>
      <value>The absolute proxy URL, which may include {0} to be replaced with the host of the identifier to be discovered.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.HostMetaDiscoveryService.HostMetaProxy.SigningHostFormat">
      <summary>
            Gets the formatting string to determine the expected host name on the certificate
            that is expected to be used to sign the XRDS document.
            </summary>
      <value>
            Either a string literal, or a formatting string where these placeholders may exist:
            {0} the host on the identifier discovery was originally performed on;
            {1} the host on this proxy.
            </value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Identifier">
      <summary>
            An Identifier is either a "http" or "https" URI, or an XRI.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.#ctor(System.String,System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> class.
            </summary>
      <param name="originalString">The original string before any normalization.</param>
      <param name="isDiscoverySecureEndToEnd">Whether the derived class is prepared to guarantee end-to-end discovery
            and initial redirect for authentication is performed using SSL.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.op_Implicit(System.String)~DotNetOpenAuth.OpenId.Identifier">
      <summary>
            Converts the string representation of an Identifier to its strong type.
            </summary>
      <param name="identifier">The identifier.</param>
      <returns>The particular Identifier instance to represent the value given.</returns>
      <requires exception="T:System.ArgumentException">identifier == null || identifier.Length &gt; 0</requires>
      <exception cref="T:System.ArgumentException">identifier != null &amp;&amp; identifier.Length &lt;= 0</exception>
      <ensures>(identifier == null) == (Contract.Result&lt;Identifier&gt;() == null)</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.op_Implicit(System.Uri)~DotNetOpenAuth.OpenId.Identifier">
      <summary>
            Converts a given Uri to a strongly-typed Identifier.
            </summary>
      <param name="identifier">The identifier to convert.</param>
      <returns>The result of the conversion.</returns>
      <ensures>(identifier == null) == (Contract.Result&lt;Identifier&gt;() == null)</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.op_Implicit(DotNetOpenAuth.OpenId.Identifier)~System.String">
      <summary>
            Converts an Identifier to its string representation.
            </summary>
      <param name="identifier">The identifier to convert to a string.</param>
      <returns>The result of the conversion.</returns>
      <ensures>(identifier == null) == (Contract.Result&lt;string&gt;() == null)</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.Parse(System.String)">
      <summary>
            Parses an identifier string and automatically determines
            whether it is an XRI or URI.
            </summary>
      <param name="identifier">Either a URI or XRI identifier.</param>
      <returns>An <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> instance for the given value.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(identifier)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(identifier)</exception>
      <ensures>Contract.Result&lt;Identifier&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.Parse(System.String,System.Boolean)">
      <summary>
            Parses an identifier string and automatically determines
            whether it is an XRI or URI.
            </summary>
      <param name="identifier">Either a URI or XRI identifier.</param>
      <param name="serializeExactValue">if set to <c>true</c> this Identifier will serialize exactly as given rather than in its normalized form.</param>
      <returns>
            An <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> instance for the given value.
            </returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(identifier)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(identifier)</exception>
      <ensures>Contract.Result&lt;Identifier&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.TryParse(System.String,DotNetOpenAuth.OpenId.Identifier@)">
      <summary>
            Attempts to parse a string for an OpenId Identifier.
            </summary>
      <param name="value">The string to be parsed.</param>
      <param name="result">The parsed Identifier form.</param>
      <returns>
            True if the operation was successful.  False if the string was not a valid OpenId Identifier.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.IsValid(System.String)">
      <summary>
            Checks the validity of a given string representation of some Identifier.
            </summary>
      <param name="identifier">The identifier.</param>
      <returns>
        <c>true</c> if the specified identifier is valid; otherwise, <c>false</c>.
            </returns>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(identifier)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(identifier)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.op_Equality(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Tests equality between two <see cref="T:DotNetOpenAuth.OpenId.Identifier" />s.
            </summary>
      <param name="id1">The first Identifier.</param>
      <param name="id2">The second Identifier.</param>
      <returns>
        <c>true</c> if the two instances should be considered equal; <c>false</c> otherwise.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.op_Inequality(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Tests inequality between two <see cref="T:DotNetOpenAuth.OpenId.Identifier" />s.
            </summary>
      <param name="id1">The first Identifier.</param>
      <param name="id2">The second Identifier.</param>
      <returns>
        <c>true</c> if the two instances should be considered unequal; <c>false</c> if they are equal.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.Equals(System.Object)">
      <summary>
            Tests equality between two <see cref="T:DotNetOpenAuth.OpenId.Identifier" />s.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.GetHashCode">
      <summary>
            Gets the hash code for an <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> for storage in a hashtable.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.Reparse(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Reparses the specified identifier in order to be assured that the concrete type that
            implements the identifier is one of the well-known ones.
            </summary>
      <param name="identifier">The identifier.</param>
      <returns>Either <see cref="T:DotNetOpenAuth.OpenId.XriIdentifier" /> or <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" />.</returns>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <ensures>Contract.Result&lt;Identifier&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.TrimFragment">
      <summary>
            Returns an <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> that has no URI fragment.
            Quietly returns the original <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> if it is not
            a <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" /> or no fragment exists.
            </summary>
      <returns>A new <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> instance if there was a 
            fragment to remove, otherwise this same instance..</returns>
      <pure />
      <ensures>Contract.Result&lt;Identifier&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Identifier.TryRequireSsl(DotNetOpenAuth.OpenId.Identifier@)">
      <summary>
            Converts a given identifier to its secure equivalent.  
            UriIdentifiers originally created with an implied HTTP scheme change to HTTPS.
            Discovery is made to require SSL for the entire resolution process.
            </summary>
      <param name="secureIdentifier">
            The newly created secure identifier.
            If the conversion fails, <paramref name="secureIdentifier" /> retains
            <i>this</i> identifiers identity, but will never discover any endpoints.
            </param>
      <returns>
            True if the secure conversion was successful.
            False if the Identifier was originally created with an explicit HTTP scheme.
            </returns>
      <ensures>Contract.ValueAtReturn(out secureIdentifier) != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Identifier.OriginalString">
      <summary>
            Gets the original string that was normalized to create this Identifier.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Identifier.SerializedString">
      <summary>
            Gets the Identifier in the form in which it should be serialized.
            </summary>
      <value>
            For Identifiers that were originally deserialized, this is the exact same
            string that was deserialized.  For Identifiers instantiated in some other way, this is
            the normalized form of the string used to instantiate the identifier.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Identifier.EqualityOnStrings">
      <summary>
            Gets or sets a value indicating whether <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> instances are considered equal
            based solely on their string reprsentations.
            </summary>
      <remarks>
            This property serves as a test hook, so that MockIdentifier instances can be considered "equal"
            to UriIdentifier instances.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Identifier.IsDiscoverySecureEndToEnd">
      <summary>
            Gets a value indicating whether this Identifier will ensure SSL is 
            used throughout the discovery phase and initial redirect of authentication.
            </summary>
      <remarks>
            If this is <c>false</c>, a value of <c>true</c> may be obtained by calling 
            <see cref="M:DotNetOpenAuth.OpenId.Identifier.TryRequireSsl(DotNetOpenAuth.OpenId.Identifier@)" />.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Identifier.IsDeserializedInstance">
      <summary>
            Gets a value indicating whether this instance was initialized from
            deserializing a message.
            </summary>
      <remarks>
            This is interesting because when an Identifier comes from the network,
            we can't normalize it and then expect signatures to still verify.  
            But if the Identifier is initialized locally, we can and should normalize it
            before serializing it.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.IdentifierContract">
      <summary>
            Code Contract for the <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierContract.#ctor">
      <summary>
            Prevents a default instance of the IdentifierContract class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierContract.TrimFragment">
      <summary>
            Returns an <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> that has no URI fragment.
            Quietly returns the original <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> if it is not
            a <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" /> or no fragment exists.
            </summary>
      <returns>
            A new <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> instance if there was a
            fragment to remove, otherwise this same instance..
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierContract.TryRequireSsl(DotNetOpenAuth.OpenId.Identifier@)">
      <summary>
            Converts a given identifier to its secure equivalent.
            UriIdentifiers originally created with an implied HTTP scheme change to HTTPS.
            Discovery is made to require SSL for the entire resolution process.
            </summary>
      <param name="secureIdentifier">The newly created secure identifier.
            If the conversion fails, <paramref name="secureIdentifier" /> retains
            <i>this</i> identifiers identity, but will never discover any endpoints.</param>
      <returns>
            True if the secure conversion was successful.
            False if the Identifier was originally created with an explicit HTTP scheme.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper">
      <summary>
            A set of methods designed to assist in improving interop across different
            OpenID implementations and their extensions.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.genderEncoder">
      <summary>
            The gender decoder to translate AX genders to Sreg.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.SpreadSregToAX(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest,DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats)">
      <summary>
            Adds an Attribute Exchange (AX) extension to the authentication request
            that asks for the same attributes as the Simple Registration (sreg) extension
            that is already applied.
            </summary>
      <param name="request">The authentication request.</param>
      <param name="attributeFormats">The attribute formats to use in the AX request.</param>
      <remarks>
        <para>If discovery on the user-supplied identifier yields hints regarding which
            extensions and attribute formats the Provider supports, this method MAY ignore the
            <paramref name="attributeFormats" /> argument and accomodate the Provider to minimize
            the size of the request.</para>
        <para>If the request does not carry an sreg extension, the method logs a warning but
            otherwise quietly returns doing nothing.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.UnifyExtensionsAsSreg(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse,System.Boolean)">
      <summary>
            Looks for Simple Registration and Attribute Exchange (all known formats)
            response extensions and returns them as a Simple Registration extension.
            </summary>
      <param name="response">The authentication response.</param>
      <param name="allowUnsigned">if set to <c>true</c> unsigned extensions will be included in the search.</param>
      <returns>
            The Simple Registration response if found, 
            or a fabricated one based on the Attribute Exchange extension if found,
            or just an empty <see cref="T:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse" /> if there was no data.
            Never <c>null</c>.</returns>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.UnifyExtensionsAsSreg(DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest)">
      <summary>
            Looks for Simple Registration and Attribute Exchange (all known formats)
            request extensions and returns them as a Simple Registration extension,
            and adds the new extension to the original request message if it was absent.
            </summary>
      <param name="request">The authentication request.</param>
      <returns>
            The Simple Registration request if found, 
            or a fabricated one based on the Attribute Exchange extension if found,
            or <c>null</c> if no attribute extension request is found.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.ConvertSregToMatchRequest(DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest)">
      <summary>
            Converts the Simple Registration extension response to whatever format the original
            attribute request extension came in.
            </summary>
      <param name="request">The authentication request with the response extensions already added.</param>
      <remarks>
            If the original attribute request came in as AX, the Simple Registration extension is converted
            to an AX response and then the Simple Registration extension is removed from the response.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.GetAttributeValue(DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse,System.String,DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats)">
      <summary>
            Gets the attribute value if available.
            </summary>
      <param name="fetchResponse">The AX fetch response extension to look for the attribute value.</param>
      <param name="typeUri">The type URI of the attribute, using the axschema.org format of <see cref="T:DotNetOpenAuth.OpenId.Extensions.AttributeExchange.WellKnownAttributes" />.</param>
      <param name="formats">The AX type URI formats to search.</param>
      <returns>
            The first value of the attribute, if available.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.TransformAXFormatTestHook(System.String,DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats)">
      <summary>
            Transforms an AX attribute type URI from the axschema.org format into a given format.
            </summary>
      <param name="axSchemaOrgFormatTypeUri">The ax schema org format type URI.</param>
      <param name="targetFormat">The target format.  Only one flag should be set.</param>
      <returns>The AX attribute type URI in the target format.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.AddAXAttributeValue(DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchResponse,System.String,DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats,System.String)">
      <summary>
            Adds the AX attribute value to the response if it is non-empty.
            </summary>
      <param name="ax">The AX Fetch response to add the attribute value to.</param>
      <param name="typeUri">The attribute type URI in axschema.org format.</param>
      <param name="format">The target format of the actual attribute to write out.</param>
      <param name="value">The value of the attribute.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.GetDemandLevelFor(DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest,System.String)">
      <summary>
            Gets the demand level for an AX attribute.
            </summary>
      <param name="ax">The AX fetch request to search for the attribute.</param>
      <param name="typeUri">The type URI of the attribute in axschema.org format.</param>
      <returns>The demand level for the attribute.</returns>
      <requires exception="T:System.ArgumentNullException">ax != null</requires>
      <exception cref="T:System.ArgumentNullException">ax == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(typeUri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(typeUri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.TryDetectOPAttributeFormat(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest,DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats@)">
      <summary>
            Tries to find the exact format of AX attribute Type URI supported by the Provider.
            </summary>
      <param name="request">The authentication request.</param>
      <param name="attributeFormat">The attribute formats the RP will try if this discovery fails.</param>
      <returns>The AX format(s) to use based on the Provider's advertised AX support.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.DetectAXFormat(System.Collections.Generic.IEnumerable{System.String})">
      <summary>
            Detects the AX attribute type URI format from a given sample.
            </summary>
      <param name="typeURIs">The type URIs to scan for recognized formats.</param>
      <returns>The first AX type URI format recognized in the list.</returns>
      <requires exception="T:System.ArgumentNullException">typeURIs != null</requires>
      <exception cref="T:System.ArgumentNullException">typeURIs == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.TransformAXFormat(System.String,DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats)">
      <summary>
            Transforms an AX attribute type URI from the axschema.org format into a given format.
            </summary>
      <param name="axSchemaOrgFormatTypeUri">The ax schema org format type URI.</param>
      <param name="targetFormat">The target format.  Only one flag should be set.</param>
      <returns>The AX attribute type URI in the target format.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(axSchemaOrgFormatTypeUri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(axSchemaOrgFormatTypeUri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.ForEachFormat(DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats)">
      <summary>
            Splits the AX attribute format flags into individual values for processing.
            </summary>
      <param name="formats">The formats to split up into individual flags.</param>
      <returns>A sequence of individual flags.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionsInteropHelper.FetchAttribute(DotNetOpenAuth.OpenId.Extensions.AttributeExchange.FetchRequest,DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AXAttributeFormats,System.String,DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.DemandLevel)">
      <summary>
            Adds an attribute fetch request if it is not already present in the AX request.
            </summary>
      <param name="ax">The AX request to add the attribute request to.</param>
      <param name="format">The format of the attribute's Type URI to use.</param>
      <param name="axSchemaOrgFormatAttribute">The attribute in axschema.org format.</param>
      <param name="demandLevel">The demand level.</param>
      <requires exception="T:System.ArgumentNullException">ax != null</requires>
      <exception cref="T:System.ArgumentNullException">ax == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(axSchemaOrgFormatAttribute)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(axSchemaOrgFormatAttribute)</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim">
      <summary>
            The COM type used to provide details of an authentication result to a relying party COM client.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim.response">
      <summary>
            The response read in by the Relying Party.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim.#ctor(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim" /> class.
            </summary>
      <param name="response">The response.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim.ClaimedIdentifier">
      <summary>
            Gets an Identifier that the end user claims to own.  For use with user database storage and lookup.
            May be null for some failed authentications (i.e. failed directed identity authentications).
            </summary>
      <remarks>
        <para>
            This is the secure identifier that should be used for database storage and lookup.
            It is not always friendly (i.e. =Arnott becomes =!9B72.7DD1.50A9.5CCD), but it protects
            user identities against spoofing and other attacks.  
            </para>
        <para>
            For user-friendly identifiers to display, use the 
            <see cref="P:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim.FriendlyIdentifierForDisplay" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim.FriendlyIdentifierForDisplay">
      <summary>
            Gets a user-friendly OpenID Identifier for display purposes ONLY.
            </summary>
      <remarks>
        <para>
            This <i>should</i> be put through <see cref="M:System.Web.HttpUtility.HtmlEncode(System.String)" /> before
            sending to a browser to secure against javascript injection attacks.
            </para>
        <para>
            This property retains some aspects of the user-supplied identifier that get lost
            in the <see cref="P:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim.ClaimedIdentifier" />.  For example, XRIs used as user-supplied
            identifiers (i.e. =Arnott) become unfriendly unique strings (i.e. =!9B72.7DD1.50A9.5CCD).
            For display purposes, such as text on a web page that says "You're logged in as ...",
            this property serves to provide the =Arnott string, or whatever else is the most friendly
            string close to what the user originally typed in.
            </para>
        <para>
            If the user-supplied identifier is a URI, this property will be the URI after all 
            redirects, and with the protocol and fragment trimmed off.
            If the user-supplied identifier is an XRI, this property will be the original XRI.
            If the user-supplied identifier is an OpenID Provider identifier (i.e. yahoo.com), 
            this property will be the Claimed Identifier, with the protocol stripped if it is a URI.
            </para>
        <para>
            It is <b>very</b> important that this property <i>never</i> be used for database storage
            or lookup to avoid identity spoofing and other security risks.  For database storage
            and lookup please use the <see cref="P:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim.ClaimedIdentifier" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim.ProviderEndpoint">
      <summary>
            Gets the provider endpoint that sent the assertion.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim.Successful">
      <summary>
            Gets a value indicating whether the authentication attempt succeeded.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim.ClaimsResponse">
      <summary>
            Gets the Simple Registration response.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.AuthenticationResponseShim.ExceptionMessage">
      <summary>
            Gets details regarding a failed authentication attempt, if available.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim">
      <summary>
            A struct storing Simple Registration field values describing an
            authenticating user.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim.response">
      <summary>
            The Simple Registration claims response message that this shim wraps.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim.#ctor(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsResponse)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim" /> class.
            </summary>
      <param name="response">The Simple Registration response to wrap.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim.Nickname">
      <summary>
            Gets the nickname the user goes by.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim.Email">
      <summary>
            Gets the user's email address.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim.FullName">
      <summary>
            Gets the full name of a user as a single string.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim.BirthDate">
      <summary>
            Gets the raw birth date string given by the extension.
            </summary>
      <value>A string in the format yyyy-MM-dd.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim.Gender">
      <summary>
            Gets the gender of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim.PostalCode">
      <summary>
            Gets the zip code / postal code of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim.Country">
      <summary>
            Gets the country of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim.Language">
      <summary>
            Gets the primary/preferred language of the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Interop.ClaimsResponseShim.TimeZone">
      <summary>
            Gets the user's timezone.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Interop.IOpenIdRelyingParty">
      <summary>
            The COM interface describing the DotNetOpenAuth functionality available to
            COM client OpenID relying parties.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Interop.IOpenIdRelyingParty.CreateRequest(System.String,System.String,System.String)">
      <summary>
            Creates an authentication request to verify that a user controls
            some given Identifier.
            </summary>
      <param name="userSuppliedIdentifier">
            The Identifier supplied by the user.  This may be a URL, an XRI or i-name.
            </param>
      <param name="realm">
            The shorest URL that describes this relying party web site's address.
            For example, if your login page is found at https://www.example.com/login.aspx,
            your realm would typically be https://www.example.com/.
            </param>
      <param name="returnToUrl">
            The URL of the login page, or the page prepared to receive authentication 
            responses from the OpenID Provider.
            </param>
      <returns>
            An authentication request object that describes the HTTP response to
            send to the user agent to initiate the authentication.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if no OpenID endpoint could be found.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Interop.IOpenIdRelyingParty.CreateRequestWithSimpleRegistration(System.String,System.String,System.String,System.String,System.String)">
      <summary>
            Creates an authentication request to verify that a user controls
            some given Identifier.
            </summary>
      <param name="userSuppliedIdentifier">The Identifier supplied by the user.  This may be a URL, an XRI or i-name.</param>
      <param name="realm">The shorest URL that describes this relying party web site's address.
            For example, if your login page is found at https://www.example.com/login.aspx,
            your realm would typically be https://www.example.com/.</param>
      <param name="returnToUrl">The URL of the login page, or the page prepared to receive authentication
            responses from the OpenID Provider.</param>
      <param name="optionalSreg">A comma-delimited list of simple registration fields to request as optional.</param>
      <param name="requiredSreg">A comma-delimited list of simple registration fields to request as required.</param>
      <returns>
            An authentication request object that describes the HTTP response to
            send to the user agent to initiate the authentication.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if no OpenID endpoint could be found.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Interop.IOpenIdRelyingParty.ProcessAuthentication(System.String,System.String)">
      <summary>
            Gets the result of a user agent's visit to his OpenId provider in an
            authentication attempt.  Null if no response is available.
            </summary>
      <param name="url">The incoming request URL .</param>
      <param name="form">The form data that may have been included in the case of a POST request.</param>
      <returns>The Provider's response to a previous authentication request, or null if no response is present.</returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Interop.OpenIdRelyingPartyShim">
      <summary>
            Implementation of <see cref="T:DotNetOpenAuth.OpenId.Interop.IOpenIdRelyingParty" />, providing a subset of the
            functionality available to .NET clients.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Interop.OpenIdRelyingPartyShim.relyingParty">
      <summary>
            The OpenIdRelyingParty instance to use for requests.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Interop.OpenIdRelyingPartyShim.#cctor">
      <summary>
            Initializes static members of the <see cref="T:DotNetOpenAuth.OpenId.Interop.OpenIdRelyingPartyShim" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Interop.OpenIdRelyingPartyShim.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Interop.OpenIdRelyingPartyShim" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Interop.OpenIdRelyingPartyShim.CreateRequest(System.String,System.String,System.String)">
      <summary>
            Creates an authentication request to verify that a user controls
            some given Identifier.
            </summary>
      <param name="userSuppliedIdentifier">
            The Identifier supplied by the user.  This may be a URL, an XRI or i-name.
            </param>
      <param name="realm">
            The shorest URL that describes this relying party web site's address.
            For example, if your login page is found at https://www.example.com/login.aspx,
            your realm would typically be https://www.example.com/.
            </param>
      <param name="returnToUrl">
            The URL of the login page, or the page prepared to receive authentication 
            responses from the OpenID Provider.
            </param>
      <returns>
            An authentication request object that describes the HTTP response to
            send to the user agent to initiate the authentication.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if no OpenID endpoint could be found.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Interop.OpenIdRelyingPartyShim.CreateRequestWithSimpleRegistration(System.String,System.String,System.String,System.String,System.String)">
      <summary>
            Creates an authentication request to verify that a user controls
            some given Identifier.
            </summary>
      <param name="userSuppliedIdentifier">The Identifier supplied by the user.  This may be a URL, an XRI or i-name.</param>
      <param name="realm">The shorest URL that describes this relying party web site's address.
            For example, if your login page is found at https://www.example.com/login.aspx,
            your realm would typically be https://www.example.com/.</param>
      <param name="returnToUrl">The URL of the login page, or the page prepared to receive authentication
            responses from the OpenID Provider.</param>
      <param name="optionalSreg">A comma-delimited list of simple registration fields to request as optional.</param>
      <param name="requiredSreg">A comma-delimited list of simple registration fields to request as required.</param>
      <returns>
            An authentication request object that describes the HTTP response to
            send to the user agent to initiate the authentication.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if no OpenID endpoint could be found.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Interop.OpenIdRelyingPartyShim.ProcessAuthentication(System.String,System.String)">
      <summary>
            Gets the result of a user agent's visit to his OpenId provider in an
            authentication attempt.  Null if no response is available.
            </summary>
      <param name="url">The incoming request URL.</param>
      <param name="form">The form data that may have been included in the case of a POST request.</param>
      <returns>The Provider's response to a previous authentication request, or null if no response is present.</returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.IIdentifierDiscoveryServiceContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.OpenId.IIdentifierDiscoveryService" /> interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IIdentifierDiscoveryServiceContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.OpenId.IIdentifierDiscoveryServiceContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IIdentifierDiscoveryServiceContract.DotNetOpenAuth#OpenId#IIdentifierDiscoveryService#Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)">
      <summary>
            Performs discovery on the specified identifier.
            </summary>
      <param name="identifier">The identifier to perform discovery on.</param>
      <param name="requestHandler">The means to place outgoing HTTP requests.</param>
      <param name="abortDiscoveryChain">if set to <c>true</c>, no further discovery services will be called for this identifier.</param>
      <returns>
            A sequence of service endpoints yielded by discovery.  Must not be null, but may be empty.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationRequest">
      <summary>
            A message a Relying Party sends to a Provider to confirm the validity
            of a positive assertion that was signed by a Provider-only secret.
            </summary>
      <remarks>
            The significant payload of this message depends entirely upon the
            assertion message, and therefore is all in the 
            <see cref="P:DotNetOpenAuth.Messaging.IMessage.ExtraData" /> property bag.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.RequestBase">
      <summary>
            A common base class for OpenID request messages and indirect responses (since they are ultimately requests).
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.RequestBase.OpenIdNamespace">
      <summary>
            The openid.ns parameter in the message.
            </summary>
      <value>"http://specs.openid.net/auth/2.0" </value>
      <remarks>
            This particular value MUST be present for the request to be a valid OpenID Authentication 2.0 request. Future versions of the specification may define different values in order to allow message recipients to properly interpret the request. 
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.RequestBase.extraData">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.Messages.RequestBase.ExtraData" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.RequestBase.incoming">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.Messages.RequestBase.Incoming" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.RequestBase.#ctor(System.Version,System.Uri,System.String,DotNetOpenAuth.Messaging.MessageTransport)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.RequestBase" /> class.
            </summary>
      <param name="version">The OpenID version this message must comply with.</param>
      <param name="providerEndpoint">The OpenID Provider endpoint.</param>
      <param name="mode">The value for the openid.mode parameter.</param>
      <param name="transport">A value indicating whether the message will be transmitted directly or indirectly.</param>
      <requires exception="T:System.ArgumentNullException">providerEndpoint != null</requires>
      <exception cref="T:System.ArgumentNullException">providerEndpoint == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(mode)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(mode)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.RequestBase.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.RequestBase.SetAsIncoming">
      <summary>
            Sets a flag indicating that this message is received (as opposed to sent).
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.RequestBase.GetProtocolConstant(System.Version,System.Func{DotNetOpenAuth.OpenId.Protocol,System.String})">
      <summary>
            Gets some string from a given version of the OpenID protocol.
            </summary>
      <param name="protocolVersion">The protocol version to use for lookup.</param>
      <param name="mode">A function that can retrieve the desired protocol constant.</param>
      <returns>The value of the constant.</returns>
      <remarks>
            This method can be used by a constructor to throw an <see cref="T:System.ArgumentNullException" />
            instead of a <see cref="T:System.NullReferenceException" />.
            </remarks>
      <requires exception="T:System.ArgumentNullException">protocolVersion != null</requires>
      <exception cref="T:System.ArgumentNullException">protocolVersion == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.RequestBase.Mode">
      <summary>
            Gets the value of the openid.mode parameter.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.RequestBase.DotNetOpenAuth#Messaging#IDirectedProtocolMessage#HttpMethods">
      <summary>
            Gets the preferred method of transport for the message.
            </summary>
      <value>
            For direct messages this is the OpenID mandated POST.  
            For indirect messages both GET and POST are allowed.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.RequestBase.Recipient">
      <summary>
            Gets the recipient of the message.
            </summary>
      <value>The OP endpoint, or the RP return_to.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.RequestBase.Version">
      <summary>
            Gets the version of the protocol this message is prepared to implement.
            </summary>
      <value>Version 2.0</value>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_Version" inheritedFromTypeName="IMessage">Contract.Result&lt;Version&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.RequestBase.RequiredProtection">
      <summary>
            Gets the level of protection this message requires.
            </summary>
      <value>
        <see cref="F:DotNetOpenAuth.Messaging.MessageProtections.None" />
      </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.RequestBase.Transport">
      <summary>
            Gets a value indicating whether this is a direct or indirect message.
            </summary>
      <value>
        <see cref="F:DotNetOpenAuth.Messaging.MessageTransport.Direct" />
      </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.RequestBase.ExtraData">
      <summary>
            Gets the extra parameters included in the message.
            </summary>
      <value>An empty dictionary.</value>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_ExtraData" inheritedFromTypeName="IMessage">Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.RequestBase.Incoming">
      <summary>
            Gets a value indicating whether this message was deserialized as an incoming message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.RequestBase.Protocol">
      <summary>
            Gets the protocol used by this message.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationRequest.#ctor(System.Version,System.Uri)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationRequest" /> class.
            </summary>
      <param name="version">The OpenID version this message must comply with.</param>
      <param name="providerEndpoint">The OpenID Provider endpoint.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationRequest.#ctor(DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse,DotNetOpenAuth.Messaging.Channel)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationRequest" /> class
            based on the contents of some signed message whose signature must be verified.
            </summary>
      <param name="message">The message whose signature should be verified.</param>
      <param name="channel">The channel.  This is used only within the constructor and is not stored in a field.</param>
      <requires exception="T:System.ArgumentNullException">channel != null</requires>
      <exception cref="T:System.ArgumentNullException">channel == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationRequest.IsValid">
      <summary>
            Gets or sets a value indicating whether the signature being verified by this request
            is in fact valid.
            </summary>
      <value>
        <c>true</c> if the signature is valid; otherwise, <c>false</c>.</value>
      <remarks>
            This property is automatically set as the message is received by the channel's
            signing binding element.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationRequest.ReturnTo">
      <summary>
            Gets or sets the ReturnTo that existed in the original signed message.
            </summary>
      <remarks>
            This exists strictly for convenience in recreating the <see cref="T:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse" />
            message.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationResponse">
      <summary>
            The message sent from the Provider to the Relying Party to confirm/deny
            the validity of an assertion that was signed by a private Provider secret.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.DirectResponseBase">
      <summary>
            A common base class for OpenID direct message responses.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.OpenIdNamespace">
      <summary>
            The openid.ns parameter in the message.
            </summary>
      <value>"http://specs.openid.net/auth/2.0" </value>
      <remarks>
            OpenID 2.0 Section 5.1.2: 
            This particular value MUST be present for the response to be a valid OpenID 2.0 response. 
            Future versions of the specification may define different values in order to allow message 
            recipients to properly interpret the request. 
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.originatingRequest">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.OriginatingRequest" /> properties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.incoming">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.Incoming" /> properties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.extraData">
      <summary>
            The dictionary of parameters that are not part of the OpenID specification.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.#ctor(System.Version,DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.DirectResponseBase" /> class.
            </summary>
      <param name="responseVersion">The OpenID version of the response message.</param>
      <param name="originatingRequest">The originating request.  May be null in case the request is unrecognizable and this is an error response.</param>
      <requires exception="T:System.ArgumentNullException">responseVersion != null</requires>
      <exception cref="T:System.ArgumentNullException">responseVersion == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.SetAsIncoming">
      <summary>
            Sets a flag indicating that this message is received (as opposed to sent).
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.Version">
      <summary>
            Gets the version of the protocol this message is prepared to implement.
            </summary>
      <value>Version 2.0</value>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_Version" inheritedFromTypeName="IMessage">Contract.Result&lt;Version&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.RequiredProtection">
      <summary>
            Gets the level of protection this message requires.
            </summary>
      <value>
        <see cref="F:DotNetOpenAuth.Messaging.MessageProtections.None" />
      </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.Transport">
      <summary>
            Gets a value indicating whether this is a direct or indirect message.
            </summary>
      <value>
        <see cref="F:DotNetOpenAuth.Messaging.MessageTransport.Direct" />
      </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.ExtraData">
      <summary>
            Gets the extra, non-OAuth parameters included in the message.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_ExtraData" inheritedFromTypeName="IMessage">Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.DotNetOpenAuth#Messaging#IDirectResponseProtocolMessage#OriginatingRequest">
      <summary>
            Gets the originating request message that caused this response to be formed.
            </summary>
      <remarks>
            This property may be null if the request message was undecipherable.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.Incoming">
      <summary>
            Gets a value indicating whether this message was deserialized as an incoming message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.Protocol">
      <summary>
            Gets the protocol used by this message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.DirectResponseBase.OriginatingRequest">
      <summary>
            Gets the originating request message that caused this response to be formed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationResponse.#ctor(System.Version,DotNetOpenAuth.OpenId.Messages.CheckAuthenticationRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationResponse" /> class
            for use by the Relying Party.
            </summary>
      <param name="responseVersion">The OpenID version of the response message.</param>
      <param name="request">The request that this message is responding to.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationResponse.#ctor(DotNetOpenAuth.OpenId.Messages.CheckAuthenticationRequest,DotNetOpenAuth.OpenId.Provider.OpenIdProvider)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationResponse" /> class
            for use by the Provider.
            </summary>
      <param name="request">The request that this message is responding to.</param>
      <param name="provider">The OpenID Provider that is preparing to send this response.</param>
      <requires exception="T:System.ArgumentNullException">provider != null</requires>
      <exception cref="T:System.ArgumentNullException">provider == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationResponse.IsValid">
      <summary>
            Gets or sets a value indicating whether the signature of the verification request is valid.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationResponse.InvalidateHandle">
      <summary>
            Gets or sets the handle the relying party should invalidate if <see cref="P:DotNetOpenAuth.OpenId.Messages.CheckAuthenticationResponse.IsValid" /> is true.
            </summary>
      <value>The "invalidate_handle" value sent in the verification request, if the OP confirms it is invalid.</value>
      <remarks>
        <para>If present in a verification response with "is_valid" set to "true",
            the Relying Party SHOULD remove the corresponding association from 
            its store and SHOULD NOT send further authentication requests with 
            this handle.</para>
        <para>This two-step process for invalidating associations is necessary 
            to prevent an attacker from invalidating an association at will by 
            adding "invalidate_handle" parameters to an authentication response.</para>
        <para>For OpenID 1.1, we allow this to be present but empty to put up with poor implementations such as Blogger.</para>
      </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.CheckIdRequest">
      <summary>
            An authentication request from a Relying Party to a Provider.
            </summary>
      <remarks>
            This message type satisfies OpenID 2.0 section 9.1.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest">
      <summary>
            An indirect request from a Relying Party to a Provider where the response
            is expected to be signed.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.extensions">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.Extensions" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.#ctor(System.Version,System.Uri,DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequestMode)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest" /> class.
            </summary>
      <param name="version">The OpenID version to use.</param>
      <param name="providerEndpoint">The Provider endpoint that receives this message.</param>
      <param name="mode">
        <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequestMode.Immediate" /> for asynchronous javascript clients;
            <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequestMode.Setup" />  to allow the Provider to interact with the user in order to complete authentication.
            </param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.AddReturnToArguments(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
      <summary>
            Adds parameters to the return_to querystring.
            </summary>
      <param name="keysValues">The keys=value pairs to add to the return_to query string.</param>
      <remarks>
            This method is useful if the Relying Party wants to recall some value
            when and if a positive assertion comes back from the Provider.
            </remarks>
      <requires exception="T:System.ArgumentNullException">keysValues != null</requires>
      <exception cref="T:System.ArgumentNullException">keysValues == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.AddReturnToArguments(System.String,System.String)">
      <summary>
            Adds a parameter to the return_to querystring.
            </summary>
      <param name="key">The name of the parameter.</param>
      <param name="value">The value of the argument.</param>
      <remarks>
            This method is useful if the Relying Party wants to recall some value
            when and if a positive assertion comes back from the Provider.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.GetMode(System.Version,DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequestMode)">
      <summary>
            Gets the value of the openid.mode parameter based on the protocol version and immediate flag.
            </summary>
      <param name="version">The OpenID version to use.</param>
      <param name="mode">
        <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequestMode.Immediate" /> for asynchronous javascript clients;
            <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequestMode.Setup" />  to allow the Provider to interact with the user in order to complete authentication.
            </param>
      <returns>checkid_immediate or checkid_setup</returns>
      <requires exception="T:System.ArgumentNullException">version != null</requires>
      <exception cref="T:System.ArgumentNullException">version == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.Extensions">
      <summary>
            Gets the list of extensions that are included with this message.
            </summary>
      <value />
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensions.get_Extensions" inheritedFromTypeName="IProtocolMessageWithExtensions">Contract.Result&lt;IList&lt;IExtensionMessage&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.Immediate">
      <summary>
            Gets a value indicating whether the Provider is allowed to interact with the user
            as part of authentication.
            </summary>
      <value>
        <c>true</c> if using OpenID immediate mode; otherwise, <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.AssociationHandle">
      <summary>
            Gets or sets the handle of the association the RP would like the Provider
            to use for signing a positive assertion in the response message.
            </summary>
      <value>A handle for an association between the Relying Party and the OP 
            that SHOULD be used to sign the response. </value>
      <remarks>
            If no association handle is sent, the transaction will take place in Stateless Mode
            (Verifying Directly with the OpenID Provider). 
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.ReturnTo">
      <summary>
            Gets or sets the URL the Provider should redirect the user agent to following
            the authentication attempt.
            </summary>
      <value>URL to which the OP SHOULD return the User-Agent with the response 
            indicating the status of the request.</value>
      <remarks>
        <para>If this value is not sent in the request it signifies that the Relying Party 
            does not wish for the end user to be returned. </para>
        <para>The return_to URL MAY be used as a mechanism for the Relying Party to attach 
            context about the authentication request to the authentication response. 
            This document does not define a mechanism by which the RP can ensure that query 
            parameters are not modified by outside parties; such a mechanism can be defined 
            by the RP itself. </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.Realm">
      <summary>
            Gets or sets the Relying Party discovery URL the Provider may use to verify the
            source of the authentication request.
            </summary>
      <value>
            URL pattern the OP SHOULD ask the end user to trust. See Section 9.2 (Realms). 
            This value MUST be sent if openid.return_to is omitted. 
            Default: The <see cref="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.ReturnTo" /> URL.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.SignReturnTo">
      <summary>
            Gets or sets a value indicating whether the return_to value should be signed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.CheckIdRequest.#ctor(System.Version,System.Uri,DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequestMode)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.CheckIdRequest" /> class.
            </summary>
      <param name="version">The OpenID version to use.</param>
      <param name="providerEndpoint">The Provider endpoint that receives this message.</param>
      <param name="mode">
        <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequestMode.Immediate" /> for asynchronous javascript clients;
            <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequestMode.Setup" />  to allow the Provider to interact with the user in order to complete authentication.
            </param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.CheckIdRequest.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.CheckIdRequest.ClaimedIdentifier">
      <summary>
            Gets or sets the Claimed Identifier.
            </summary>
      <remarks>
        <para>"openid.claimed_id" and "openid.identity" SHALL be either both present or both absent. 
            If neither value is present, the assertion is not about an identifier, 
            and will contain other information in its payload, using extensions (Extensions). </para>
        <para>It is RECOMMENDED that OPs accept XRI identifiers with or without the "xri://" prefix, as specified in the Normalization (Normalization) section. </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.CheckIdRequest.LocalIdentifier">
      <summary>
            Gets or sets the OP Local Identifier.
            </summary>
      <value>The OP-Local Identifier. </value>
      <remarks>
        <para>If a different OP-Local Identifier is not specified, the claimed 
            identifier MUST be used as the value for openid.identity.</para>
        <para>Note: If this is set to the special value 
            "http://specs.openid.net/auth/2.0/identifier_select" then the OP SHOULD 
            choose an Identifier that belongs to the end user. This parameter MAY 
            be omitted if the request is not about an identifier (for instance if 
            an extension is in use that makes the request meaningful without it; 
            see openid.claimed_id above). </para>
      </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse">
      <summary>
            The base class that all successful association response messages derive from.
            </summary>
      <remarks>
            Association response messages are described in OpenID 2.0 section 8.2.  This type covers section 8.2.1.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.associationCreated">
      <summary>
            A flag indicating whether an association has already been created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.#ctor(System.Version,DotNetOpenAuth.OpenId.Messages.AssociateRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse" /> class.
            </summary>
      <param name="responseVersion">The OpenID version of the response message.</param>
      <param name="originatingRequest">The originating request.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.CreateAssociation(DotNetOpenAuth.OpenId.Messages.AssociateRequest,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Called to create the Association based on a request previously given by the Relying Party.
            </summary>
      <param name="request">The prior request for an association.</param>
      <param name="securitySettings">The security settings for the Provider.  Should be <c>null</c> for Relying Parties.</param>
      <returns>The created association.</returns>
      <remarks>
        <para>The response message is updated to include the details of the created association by this method,
            but the resulting association is <i>not</i> added to the association store and must be done by the caller.</para>
        <para>This method is called by both the Provider and the Relying Party, but actually performs
            quite different operations in either scenario.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.CreateAssociationAtProvider(DotNetOpenAuth.OpenId.Messages.AssociateRequest,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Called to create the Association based on a request previously given by the Relying Party.
            </summary>
      <param name="request">The prior request for an association.</param>
      <param name="securitySettings">The security settings of the Provider.</param>
      <returns>The created association.</returns>
      <remarks>
        <para>The caller will update this message's <see cref="P:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.ExpiresIn" /> and <see cref="P:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.AssociationHandle" />
            properties based on the <see cref="T:DotNetOpenAuth.OpenId.Association" /> returned by this method, but any other
            association type specific properties must be set by this method.</para>
        <para>The response message is updated to include the details of the created association by this method,
            but the resulting association is <i>not</i> added to the association store and must be done by the caller.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.CreateAssociationAtRelyingParty(DotNetOpenAuth.OpenId.Messages.AssociateRequest)">
      <summary>
            Called to create the Association based on a request previously given by the Relying Party.
            </summary>
      <param name="request">The prior request for an association.</param>
      <returns>The created association.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.AssociationHandle">
      <summary>
            Gets or sets the association handle is used as a key to refer to this association in subsequent messages. 
            </summary>
      <value>A string 255 characters or less in length. It MUST consist only of ASCII characters in the range 33-126 inclusive (printable non-whitespace characters). </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.AssociationType">
      <summary>
            Gets or sets the preferred association type. The association type defines the algorithm to be used to sign subsequent messages. 
            </summary>
      <value>Value: A valid association type from Section 8.3.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.SessionType">
      <summary>
            Gets or sets the value of the "openid.session_type" parameter from the request. 
            If the OP is unwilling or unable to support this association type, it MUST return an 
            unsuccessful response (Unsuccessful Response Parameters). 
            </summary>
      <value>Value: A valid association session type from Section 8.4 (Association Session Types). </value>
      <remarks>Note: Unless using transport layer encryption, "no-encryption" MUST NOT be used. </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.ExpiresIn">
      <summary>
            Gets or sets the lifetime, in seconds, of this association. The Relying Party MUST NOT use the association after this time has passed. 
            </summary>
      <value>An integer, represented in base 10 ASCII. </value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.IErrorMessage">
      <summary>
            Members found on error response messages sent from a Provider 
            to a Relying Party in response to direct and indirect message
            requests that result in an error.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IErrorMessage.ErrorMessage">
      <summary>
            Gets or sets a human-readable message indicating why the request failed. 
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IErrorMessage.Contact">
      <summary>
            Gets or sets the contact address for the administrator of the server. 
            </summary>
      <value>The contact address may take any form, as it is intended to be displayed to a person. </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IErrorMessage.Reference">
      <summary>
            Gets or sets a reference token, such as a support ticket number or a URL to a news blog, etc. 
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase">
      <summary>
            A common base class from which indirect response messages should derive.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase.extensions">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase.Extensions" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase.#ctor(DotNetOpenAuth.OpenId.Messages.SignedResponseRequest,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase" /> class.
            </summary>
      <param name="request">The request that caused this response message to be constructed.</param>
      <param name="mode">The value of the openid.mode parameter.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase.#ctor(System.Version,System.Uri,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase" /> class
            for unsolicited assertion scenarios.
            </summary>
      <param name="version">The OpenID version supported at the Relying Party.</param>
      <param name="relyingPartyReturnTo">
            The URI at which the Relying Party receives OpenID indirect messages.
            </param>
      <param name="mode">The value to use for the openid.mode parameter.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase.GetVersion(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Gets the <see cref="P:DotNetOpenAuth.Messaging.IMessage.Version" /> property of a message.
            </summary>
      <param name="message">The message to fetch the protocol version from.</param>
      <returns>The value of the <see cref="P:DotNetOpenAuth.Messaging.IMessage.Version" /> property.</returns>
      <remarks>
            This method can be used by a constructor to throw an <see cref="T:System.ArgumentNullException" />
            instead of a <see cref="T:System.NullReferenceException" />.
            </remarks>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase.GetReturnTo(DotNetOpenAuth.OpenId.Messages.SignedResponseRequest)">
      <summary>
            Gets the <see cref="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.ReturnTo" /> property of a message.
            </summary>
      <param name="message">The message to fetch the ReturnTo from.</param>
      <returns>The value of the <see cref="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.ReturnTo" /> property.</returns>
      <remarks>
            This method can be used by a constructor to throw an <see cref="T:System.ArgumentNullException" />
            instead of a <see cref="T:System.NullReferenceException" />.
            </remarks>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase.Extensions">
      <summary>
            Gets the list of extensions that are included with this message.
            </summary>
      <value />
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IProtocolMessageWithExtensions.get_Extensions" inheritedFromTypeName="IProtocolMessageWithExtensions">Contract.Result&lt;IList&lt;IExtensionMessage&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase.SignedExtensions">
      <summary>
            Gets the signed extensions on this message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase.UnsignedExtensions">
      <summary>
            Gets the unsigned extensions on this message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectResponseBase.OriginatingRequest">
      <summary>
            Gets the originating request message, if applicable.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse">
      <summary>
            An indirect message from a Provider to a Relying Party where at least part of the
            payload is signed so the Relying Party can verify it has not been tampered with.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.PermissibleDateTimeFormats">
      <summary>
            The allowed date/time formats for the response_nonce parameter.
            </summary>
      <remarks>
            This array of formats is not yet a complete list.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.creationDateUtc">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.Messaging.Bindings.IExpiringProtocolMessage.UtcCreationDate" /> property.
            </summary>
      <remarks>
            The field initializer being DateTime.UtcNow allows for OpenID 1.x messages
            to pass through the StandardExpirationBindingElement.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.returnToParameters">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.ReturnToParameters" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.#ctor(DotNetOpenAuth.OpenId.Messages.SignedResponseRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse" /> class.
            </summary>
      <param name="request">
            The authentication request that caused this assertion to be generated.
            </param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.#ctor(DotNetOpenAuth.OpenId.Messages.CheckAuthenticationRequest,DotNetOpenAuth.Messaging.Channel)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse" /> class
            in order to perform signature verification at the Provider.
            </summary>
      <param name="previouslySignedMessage">The previously signed message.</param>
      <param name="channel">The channel.  This is used only within the constructor and is not stored in a field.</param>
      <requires exception="T:System.ArgumentNullException">channel != null</requires>
      <exception cref="T:System.ArgumentNullException">channel == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.#ctor(System.Version,System.Uri)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse" /> class
            for unsolicited assertions.
            </summary>
      <param name="version">The OpenID version to use.</param>
      <param name="relyingPartyReturnTo">The return_to URL of the Relying Party.
            This value will commonly be from <see cref="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.ReturnTo" />,
            but for unsolicited assertions may come from the Provider performing RP discovery
            to find the appropriate return_to URL to use.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.GetReturnToArgument(System.String)">
      <summary>
            Gets the value of a named parameter in the return_to URL without signature protection.
            </summary>
      <param name="key">The full name of the parameter whose value is being sought.</param>
      <returns>The value of the parameter if it is present and unaltered from when
            the Relying Party signed it; <c>null</c> otherwise.</returns>
      <remarks>
            This method will always return null on the Provider-side, since Providers
            cannot verify the private signature made by the relying party.
            </remarks>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(key)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.GetReturnToParameterNames">
      <summary>
            Gets the names of the callback parameters added to the original authentication request
            without signature protection.
            </summary>
      <returns>A sequence of the callback parameter names.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.GetSignedMessageParts(DotNetOpenAuth.Messaging.Channel)">
      <summary>
            Gets a dictionary of all the message part names and values
            that are included in the message signature.
            </summary>
      <param name="channel">The channel.</param>
      <returns>
            A dictionary of the signed message parts.
            </returns>
      <requires exception="T:System.ArgumentNullException">channel != null</requires>
      <exception cref="T:System.ArgumentNullException">channel == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.IsQuerySubsetOf(System.String,System.String)">
      <summary>
            Determines whether one querystring contains every key=value pair that
            another querystring contains.
            </summary>
      <param name="superset">The querystring that should contain at least all the key=value pairs of the other.</param>
      <param name="subset">The querystring containing the set of key=value pairs to test for in the other.</param>
      <returns>
        <c>true</c> if <paramref name="superset" /> contains all the query parameters that <paramref name="subset" /> does; <c>false</c> otherwise.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.VerifyReturnToMatchesRecipient">
      <summary>
            Verifies that the openid.return_to field matches the URL of the actual HTTP request.
            </summary>
      <remarks>
            From OpenId Authentication 2.0 section 11.1:
            To verify that the "openid.return_to" URL matches the URL that is processing this assertion:
             * The URL scheme, authority, and path MUST be the same between the two URLs.
             * Any query parameters that are present in the "openid.return_to" URL MUST 
               also be present with the same values in the URL of the HTTP request the RP received.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.RequiredProtection">
      <summary>
            Gets the level of protection this message requires.
            </summary>
      <value>
        <see cref="F:DotNetOpenAuth.Messaging.MessageProtections.All" /> for OpenID 2.0 messages.
            <see cref="F:DotNetOpenAuth.Messaging.MessageProtections.TamperProtection" /> for OpenID 1.x messages.
            </value>
      <remarks>
            Although the required protection is reduced for OpenID 1.x,
            this library will provide Relying Party hosts with all protections
            by adding its own specially-crafted nonce to the authentication request
            messages except for stateless RPs in OpenID 1.x messages.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.DotNetOpenAuth#Messaging#ITamperResistantProtocolMessage#Signature">
      <summary>
            Gets or sets the message signature.
            </summary>
      <value>Base 64 encoded signature calculated as specified in Section 6 (Generating Signatures).</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.DotNetOpenAuth#OpenId#ChannelElements#ITamperResistantOpenIdMessage#SignedParameterOrder">
      <summary>
            Gets or sets the signed parameter order.
            </summary>
      <value>Comma-separated list of signed fields.</value>
      <example>"op_endpoint,identity,claimed_id,return_to,assoc_handle,response_nonce"</example>
      <remarks>
            This entry consists of the fields without the "openid." prefix that the signature covers.
            This list MUST contain at least "op_endpoint", "return_to" "response_nonce" and "assoc_handle",
            and if present in the response, "claimed_id" and "identity".
            Additional keys MAY be signed as part of the message. See Generating Signatures.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.DotNetOpenAuth#OpenId#ChannelElements#ITamperResistantOpenIdMessage#AssociationHandle">
      <summary>
            Gets or sets the association handle used to sign the message.
            </summary>
      <value>The handle for the association that was used to sign this assertion. </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.DotNetOpenAuth#Messaging#Bindings#IReplayProtectedProtocolMessage#Nonce">
      <summary>
            Gets or sets the nonce that will protect the message from replay attacks.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.DotNetOpenAuth#Messaging#Bindings#IReplayProtectedProtocolMessage#NonceContext">
      <summary>
            Gets the context within which the nonce must be unique.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.DotNetOpenAuth#Messaging#Bindings#IExpiringProtocolMessage#UtcCreationDate">
      <summary>
            Gets or sets the UTC date/time the message was originally sent onto the network.
            </summary>
      <remarks>
            The property setter should ensure a UTC date/time,
            and throw an exception if this is not possible.
            </remarks>
      <exception cref="T:System.ArgumentException">
            Thrown when a DateTime that cannot be converted to UTC is set.
            </exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.DotNetOpenAuth#OpenId#ChannelElements#ITamperResistantOpenIdMessage#InvalidateHandle">
      <summary>
            Gets or sets the association handle that the Provider wants the Relying Party to not use any more.
            </summary>
      <value>If the Relying Party sent an invalid association handle with the request, it SHOULD be included here.</value>
      <remarks>
            For OpenID 1.1, we allow this to be present but empty to put up with poor implementations such as Blogger.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.ProviderEndpoint">
      <summary>
            Gets or sets the Provider Endpoint URI.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.ReturnTo">
      <summary>
            Gets or sets the return_to parameter as the relying party provided
            it in <see cref="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.ReturnTo" />.
            </summary>
      <value>Verbatim copy of the return_to URL parameter sent in the
            request, before the Provider modified it. </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.ReturnToParametersSignatureValidated">
      <summary>
            Gets or sets a value indicating whether the <see cref="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.ReturnTo" />
            URI's query string is unaltered between when the Relying Party
            sent the original request and when the response was received.
            </summary>
      <remarks>
            This property is not persisted in the transmitted message, and
            has no effect on the Provider-side of the communication.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.ResponseNonceTestHook">
      <summary>
            Gets or sets the nonce that will protect the message from replay attacks.
            </summary>
      <value>
        <para>A string 255 characters or less in length, that MUST be unique to 
            this particular successful authentication response. The nonce MUST start 
            with the current time on the server, and MAY contain additional ASCII 
            characters in the range 33-126 inclusive (printable non-whitespace characters), 
            as necessary to make each response unique. The date and time MUST be 
            formatted as specified in section 5.6 of [RFC3339] 
            (Klyne, G. and C. Newman, “Date and Time on the Internet: Timestamps,” .), 
            with the following restrictions:</para>
        <list type="bullet">
          <item>All times must be in the UTC timezone, indicated with a "Z".</item>
          <item>No fractional seconds are allowed</item>
        </list>
      </value>
      <example>2005-05-15T17:11:51ZUNIQUE</example>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.ResponseNonce">
      <summary>
            Gets or sets the nonce that will protect the message from replay attacks.
            </summary>
      <value>
        <para>A string 255 characters or less in length, that MUST be unique to 
            this particular successful authentication response. The nonce MUST start 
            with the current time on the server, and MAY contain additional ASCII 
            characters in the range 33-126 inclusive (printable non-whitespace characters), 
            as necessary to make each response unique. The date and time MUST be 
            formatted as specified in section 5.6 of [RFC3339] 
            (Klyne, G. and C. Newman, “Date and Time on the Internet: Timestamps,” .), 
            with the following restrictions:</para>
        <list type="bullet">
          <item>All times must be in the UTC timezone, indicated with a "Z".</item>
          <item>No fractional seconds are allowed</item>
        </list>
      </value>
      <example>2005-05-15T17:11:51ZUNIQUE</example>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.ReturnToParameters">
      <summary>
            Gets the querystring key=value pairs in the return_to URL.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtensionContract">
      <summary>
            Code contract class for the IOpenIdMessageExtension interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtensionContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtensionContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtensionContract.DotNetOpenAuth#Messaging#IMessage#EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtensionContract.DotNetOpenAuth#OpenId#Messages#IOpenIdMessageExtension#TypeUri">
      <summary>
            Gets the TypeURI the extension uses in the OpenID protocol and in XRDS advertisements.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtensionContract.DotNetOpenAuth#OpenId#Messages#IOpenIdMessageExtension#AdditionalSupportedTypeUris">
      <summary>
            Gets the additional TypeURIs that are supported by this extension, in preferred order.
            May be empty if none other than <see cref="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.TypeUri" /> is supported, but
            should not be null.
            </summary>
      <remarks>
            Useful for reading in messages with an older version of an extension.
            The value in the <see cref="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.TypeUri" /> property is always checked before
            trying this list.
            If you do support multiple versions of an extension using this method,
            consider adding a CreateResponse method to your request extension class
            so that the response can have the context it needs to remain compatible
            given the version of the extension in the request message.
            The <see cref="M:DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.ClaimsRequest.CreateResponse" /> for an example.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtensionContract.DotNetOpenAuth#OpenId#Messages#IOpenIdMessageExtension#IsSignedByRemoteParty">
      <summary>
            Gets or sets a value indicating whether this extension was
            signed by the sender.
            </summary>
      <value>
        <c>true</c> if this instance is signed by the sender; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtensionContract.DotNetOpenAuth#Messaging#IMessage#Version">
      <summary>
            Gets the version of the protocol or extension this message is prepared to implement.
            </summary>
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtensionContract.DotNetOpenAuth#Messaging#IMessage#ExtraData">
      <summary>
            Gets the extra, non-standard Protocol parameters included in the message.
            </summary>
      <remarks>
            Implementations of this interface should ensure that this property never returns null.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse">
      <summary>
            The message OpenID Providers send back to Relying Parties to refuse
            to assert the identity of a user.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse.#ctor(DotNetOpenAuth.OpenId.Messages.CheckIdRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse" /> class.
            </summary>
      <param name="request">The request that the relying party sent.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse.#ctor(DotNetOpenAuth.OpenId.Messages.SignedResponseRequest,DotNetOpenAuth.Messaging.Channel)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse" /> class.
            </summary>
      <param name="request">The request that the relying party sent.</param>
      <param name="channel">The channel to use to simulate construction of the user_setup_url, if applicable.  May be null, but the user_setup_url will not be constructed.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse.#ctor(System.Version,System.Uri,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse" /> class.
            </summary>
      <param name="version">The version.</param>
      <param name="relyingPartyReturnTo">The relying party return to.</param>
      <param name="mode">The value of the openid.mode parameter.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse.ConstructUserSetupUrl(DotNetOpenAuth.OpenId.Messages.CheckIdRequest,DotNetOpenAuth.Messaging.Channel)">
      <summary>
            Constructs the value for the user_setup_url parameter to be sent back
            in negative assertions in response to OpenID 1.x RP's checkid_immediate requests.
            </summary>
      <param name="immediateRequest">The immediate request.</param>
      <param name="channel">The channel to use to simulate construction of the message.</param>
      <returns>The value to use for the user_setup_url parameter.</returns>
      <requires exception="T:System.ArgumentNullException">immediateRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">immediateRequest == null</exception>
      <requires exception="T:System.ArgumentNullException">channel != null</requires>
      <exception cref="T:System.ArgumentNullException">channel == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse.GetMode(DotNetOpenAuth.OpenId.Messages.SignedResponseRequest)">
      <summary>
            Gets the value for the openid.mode that is appropriate for this response.
            </summary>
      <param name="request">The request that we're responding to.</param>
      <returns>The value of the openid.mode parameter to use.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse.UserSetupUrl">
      <summary>
            Gets or sets the URL the relying party can use to upgrade their authentication
            request from an immediate to a setup message.
            </summary>
      <value>URL to redirect User-Agent to so the End User can do whatever's necessary to fulfill the assertion.</value>
      <remarks>
            This part is only included in OpenID 1.x responses.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse.Immediate">
      <summary>
            Gets a value indicating whether this <see cref="T:DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse" />
            is in response to an authentication request made in immediate mode.
            </summary>
      <value>
        <c>true</c> if the request was in immediate mode; otherwise, <c>false</c>.</value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.PositiveAssertionResponse">
      <summary>
            An identity assertion from a Provider to a Relying Party, stating that the
            user operating the user agent is in fact some specific user known to the Provider.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.PositiveAssertionResponse.#ctor(DotNetOpenAuth.OpenId.Messages.CheckIdRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.PositiveAssertionResponse" /> class.
            </summary>
      <param name="request">
            The authentication request that caused this assertion to be generated.
            </param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.PositiveAssertionResponse.#ctor(System.Version,System.Uri)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.PositiveAssertionResponse" /> class
            for unsolicited assertions.
            </summary>
      <param name="version">The OpenID version to use.</param>
      <param name="relyingPartyReturnTo">The return_to URL of the Relying Party.
            This value will commonly be from <see cref="P:DotNetOpenAuth.OpenId.Messages.SignedResponseRequest.ReturnTo" />,
            but for unsolicited assertions may come from the Provider performing RP discovery
            to find the appropriate return_to URL to use.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.PositiveAssertionResponse.#ctor(DotNetOpenAuth.OpenId.RelyingPartyEndpointDescription)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.PositiveAssertionResponse" /> class.
            </summary>
      <param name="relyingParty">The relying party return_to endpoint that will receive this positive assertion.</param>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.PositiveAssertionResponse.ClaimedIdentifier">
      <summary>
            Gets or sets the Claimed Identifier.
            </summary>
      <remarks>
        <para>"openid.claimed_id" and "openid.identity" SHALL be either both present or both absent. 
            If neither value is present, the assertion is not about an identifier, 
            and will contain other information in its payload, using extensions (Extensions). </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.PositiveAssertionResponse.LocalIdentifier">
      <summary>
            Gets or sets the OP Local Identifier.
            </summary>
      <value>The OP-Local Identifier. </value>
      <remarks>
        <para>OpenID Providers MAY assist the end user in selecting the Claimed 
            and OP-Local Identifiers about which the assertion is made. 
            The openid.identity field MAY be omitted if an extension is in use that 
            makes the response meaningful without it (see openid.claimed_id above). </para>
      </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.NoDiscoveryIdentifier">
      <summary>
            Wraps an existing Identifier and prevents it from performing discovery.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.NoDiscoveryIdentifier.wrappedIdentifier">
      <summary>
            The wrapped identifier.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.NoDiscoveryIdentifier.#ctor(DotNetOpenAuth.OpenId.Identifier,System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.NoDiscoveryIdentifier" /> class.
            </summary>
      <param name="wrappedIdentifier">The ordinary Identifier whose discovery is being masked.</param>
      <param name="claimSsl">Whether this Identifier should claim to be SSL-secure, although no discovery will never generate service endpoints anyway.</param>
      <requires exception="T:System.ArgumentNullException">wrappedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">wrappedIdentifier == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.NoDiscoveryIdentifier.ToString">
      <summary>
            Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </summary>
      <returns>
            A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </returns>
      <ensures inheritedFrom="M:System.Object.ToString" inheritedFromTypeName="Object">Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.NoDiscoveryIdentifier.Equals(System.Object)">
      <summary>
            Tests equality between two <see cref="T:DotNetOpenAuth.OpenId.Identifier" />s.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.NoDiscoveryIdentifier.GetHashCode">
      <summary>
            Gets the hash code for an <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> for storage in a hashtable.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.NoDiscoveryIdentifier.TrimFragment">
      <summary>
            Returns an <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> that has no URI fragment.
            Quietly returns the original <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> if it is not
            a <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" /> or no fragment exists.
            </summary>
      <returns>
            A new <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> instance if there was a
            fragment to remove, otherwise this same instance..
            </returns>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Identifier.TrimFragment" inheritedFromTypeName="Identifier">Contract.Result&lt;Identifier&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.NoDiscoveryIdentifier.TryRequireSsl(DotNetOpenAuth.OpenId.Identifier@)">
      <summary>
            Converts a given identifier to its secure equivalent.
            UriIdentifiers originally created with an implied HTTP scheme change to HTTPS.
            Discovery is made to require SSL for the entire resolution process.
            </summary>
      <param name="secureIdentifier">The newly created secure identifier.
            If the conversion fails, <paramref name="secureIdentifier" /> retains
            <i>this</i> identifiers identity, but will never discover any endpoints.</param>
      <returns>
            True if the secure conversion was successful.
            False if the Identifier was originally created with an explicit HTTP scheme.
            </returns>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Identifier.TryRequireSsl(DotNetOpenAuth.OpenId.Identifier@)" inheritedFromTypeName="Identifier">Contract.ValueAtReturn(out secureIdentifier) != null</ensures>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.OpenIdUtilities">
      <summary>
            A set of utilities especially useful to OpenID.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.OpenIdUtilities.CustomParameterPrefix">
      <summary>
            The prefix to designate this library's proprietary parameters added to the protocol.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdUtilities.GetProtocol(DotNetOpenAuth.Messaging.IProtocolMessage)">
      <summary>
            Gets the OpenID protocol instance for the version in a message.
            </summary>
      <param name="message">The message.</param>
      <returns>The OpenID protocol instance.</returns>
      <requires exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdUtilities.MoveTo``1(System.Collections.Generic.IList{``0},System.Int32,``0)">
      <summary>
            Changes the position of some element in a list.
            </summary>
      <typeparam name="T">The type of elements stored in the list.</typeparam>
      <param name="list">The list to be modified.</param>
      <param name="position">The new position for the given element.</param>
      <param name="value">The element to move within the list.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.InternalErrorException">Thrown if the element does not already exist in the list.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdUtilities.FixDoublyUriDecodedBase64String(System.String)">
      <summary>
            Corrects any URI decoding the Provider may have inappropriately done
            to our return_to URL, resulting in an otherwise corrupted base64 encoded value.
            </summary>
      <param name="value">The base64 encoded value.  May be null.</param>
      <returns>
            The value; corrected if corruption had occurred.
            </returns>
      <remarks>
            AOL may have incorrectly URI-decoded the token for us in the return_to,
            resulting in a token URI-decoded twice by the time we see it, and no
            longer being a valid base64 string.
            It turns out that the only symbols from base64 that is also encoded
            in URI encoding rules are the + and / characters.
            AOL decodes the %2b sequence to the + character
            and the %2f sequence to the / character (it shouldn't decode at all).
            When we do our own URI decoding, the + character becomes a space (corrupting base64)
            but the / character remains a /, so no further corruption happens to this character.
            So to correct this we just need to change any spaces we find in the token
            back to + characters.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdUtilities.CutToSecond(System.DateTime)">
      <summary>
            Rounds the given <see cref="T:System.DateTime" /> downward to the whole second.
            </summary>
      <param name="dateTime">The DateTime object to adjust.</param>
      <returns>The new <see cref="T:System.DateTime" /> value.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdUtilities.GetResolvedRealm(System.Web.UI.Page,System.String,DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Gets the fully qualified Realm URL, given a Realm that may be relative to a particular page.
            </summary>
      <param name="page">The hosting page that has the realm value to resolve.</param>
      <param name="realm">The realm, which may begin with "*." or "~/".</param>
      <param name="requestContext">The request context.</param>
      <returns>The fully-qualified realm.</returns>
      <requires exception="T:System.ArgumentNullException">page != null</requires>
      <exception cref="T:System.ArgumentNullException">page == null</exception>
      <requires exception="T:System.ArgumentNullException">requestContext != null</requires>
      <exception cref="T:System.ArgumentNullException">requestContext == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdUtilities.GetExtensionFactories(DotNetOpenAuth.Messaging.Channel)">
      <summary>
            Gets the extension factories from the extension aggregator on an OpenID channel.
            </summary>
      <param name="channel">The channel.</param>
      <returns>The list of factories that will be used to generate extension instances.</returns>
      <remarks>
            This is an extension method on <see cref="T:DotNetOpenAuth.Messaging.Channel" /> rather than an instance
            method on <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel" /> because the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" />
            and <see cref="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider" /> classes don't strong-type to <see cref="T:DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel" />
            to allow flexibility in the specific type of channel the user (or tests)
            can plug in.
            </remarks>
      <requires exception="T:System.ArgumentNullException">channel != null</requires>
      <exception cref="T:System.ArgumentNullException">channel == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase">
      <summary>
            Provides standard PPID Identifiers to users to protect their identity from individual relying parties
            and from colluding groups of relying parties.
            </summary>
      <invariant>this.Hasher != null</invariant>
      <invariant>this.Encoder != null</invariant>
      <invariant>this.BaseIdentifier != null</invariant>
      <invariant>this.NewSaltLength &gt; 0</invariant>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IDirectedIdentityIdentifierProvider">
      <summary>
            An interface to provide custom identifiers for users logging into specific relying parties.
            </summary>
      <remarks>
            This interface would allow, for example, the Provider to offer PPIDs to their users,
            allowing the users to log into RPs without leaving any clue as to their true identity,
            and preventing multiple RPs from colluding to track user activity across realms.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IDirectedIdentityIdentifierProvider.GetIdentifier(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm)">
      <summary>
            Gets the Identifier to use for the Claimed Identifier and Local Identifier of
            an outgoing positive assertion.
            </summary>
      <param name="localIdentifier">The OP local identifier for the authenticating user.</param>
      <param name="relyingPartyRealm">The realm of the relying party receiving the assertion.</param>
      <returns>
            A valid, discoverable OpenID Identifier that should be used as the value for the
            openid.claimed_id and openid.local_id parameters.  Must not be null.
            </returns>
      <requires exception="T:System.ArgumentNullException">localIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">localIdentifier == null</exception>
      <requires exception="T:System.ArgumentNullException">relyingPartyRealm != null</requires>
      <exception cref="T:System.ArgumentNullException">relyingPartyRealm == null</exception>
      <requires exception="T:System.ArgumentException">((IDirectedIdentityIdentifierProvider)this).IsUserLocalIdentifier(localIdentifier)</requires>
      <exception cref="T:System.ArgumentException">!(((IDirectedIdentityIdentifierProvider)this).IsUserLocalIdentifier(localIdentifier))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IDirectedIdentityIdentifierProvider.IsUserLocalIdentifier(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Determines whether a given identifier is the primary (non-PPID) local identifier for some user.
            </summary>
      <param name="identifier">The identifier in question.</param>
      <returns>
        <c>true</c> if the given identifier is the valid, unique identifier for some uesr (and NOT a PPID); otherwise, <c>false</c>.
            </returns>
      <pure />
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.HashAlgorithmName">
      <summary>
            The type of hash function to use for the <see cref="P:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.Hasher" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.newSaltLength">
      <summary>
            The length of the salt to generate for first time PPID-users.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.#ctor(System.Uri)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase" /> class.
            </summary>
      <param name="baseIdentifier">The base URI on which to append the anonymous part.</param>
      <requires exception="T:System.ArgumentNullException">baseIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">baseIdentifier == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.GetIdentifier(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm)">
      <summary>
            Gets the Identifier to use for the Claimed Identifier and Local Identifier of
            an outgoing positive assertion.
            </summary>
      <param name="localIdentifier">The OP local identifier for the authenticating user.</param>
      <param name="relyingPartyRealm">The realm of the relying party receiving the assertion.</param>
      <returns>
            A valid, discoverable OpenID Identifier that should be used as the value for the
            openid.claimed_id and openid.local_id parameters.  Must not be null.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IDirectedIdentityIdentifierProvider.GetIdentifier(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm)" inheritedFromTypeName="IDirectedIdentityIdentifierProvider" exception="T:System.ArgumentNullException">localIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">localIdentifier == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IDirectedIdentityIdentifierProvider.GetIdentifier(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm)" inheritedFromTypeName="IDirectedIdentityIdentifierProvider" exception="T:System.ArgumentNullException">relyingPartyRealm != null</requires>
      <exception cref="T:System.ArgumentNullException">relyingPartyRealm == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IDirectedIdentityIdentifierProvider.GetIdentifier(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm)" inheritedFromTypeName="IDirectedIdentityIdentifierProvider" exception="T:System.ArgumentException">((IDirectedIdentityIdentifierProvider)this).IsUserLocalIdentifier(localIdentifier)</requires>
      <exception cref="T:System.ArgumentException">!(((IDirectedIdentityIdentifierProvider)this).IsUserLocalIdentifier(localIdentifier))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.IsUserLocalIdentifier(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Determines whether a given identifier is the primary (non-PPID) local identifier for some user.
            </summary>
      <param name="identifier">The identifier in question.</param>
      <returns>
        <c>true</c> if the given identifier is the valid, unique identifier for some uesr (and NOT a PPID); otherwise, <c>false</c>.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IDirectedIdentityIdentifierProvider.IsUserLocalIdentifier(DotNetOpenAuth.OpenId.Identifier)" inheritedFromTypeName="IDirectedIdentityIdentifierProvider" exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.CreateSalt">
      <summary>
            Creates a new salt to assign to a user.
            </summary>
      <returns>A non-null buffer of length <see cref="P:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.NewSaltLength" /> filled with a random salt.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.AppendIdentifiers(System.String)">
      <summary>
            Creates a new PPID Identifier by appending a pseudonymous identifier suffix to
            the <see cref="P:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.BaseIdentifier" />.
            </summary>
      <param name="uriHash">The unique part of the Identifier to append to the common first part.</param>
      <returns>The full PPID Identifier.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(uriHash)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(uriHash)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.GetHashSaltForLocalIdentifier(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Gets the salt to use for generating an anonymous identifier for a given OP local identifier.
            </summary>
      <param name="localIdentifier">The OP local identifier.</param>
      <returns>The salt to use in the hash.</returns>
      <remarks>
            It is important that this method always return the same value for a given 
            <paramref name="localIdentifier" />.  
            New salts can be generated for local identifiers without previously assigned salt
            values by calling <see cref="M:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.CreateSalt" /> or by a custom method.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.BaseIdentifier">
      <summary>
            Gets the base URI on which to append the anonymous part.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.PairwiseUnique">
      <summary>
            Gets or sets a value indicating whether each Realm will get its own private identifier
            for the authenticating uesr.
            </summary>
      <value>The default value is <see cref="F:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.AudienceScope.Realm" />.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.Hasher">
      <summary>
            Gets the hash function to use to perform the one-way transform of a personal identifier
            to an "anonymous" looking one.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.Encoder">
      <summary>
            Gets the encoder to use for transforming the personal identifier into bytes for hashing.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.NewSaltLength">
      <summary>
            Gets or sets the new length of the salt.
            </summary>
      <value>The new length of the salt.</value>
      <setter>
        <requires exception="T:System.ArgumentOutOfRangeException">value &gt; 0</requires>
      </setter>
      <exception cref="T:System.ArgumentOutOfRangeException">value &lt;= 0</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.AudienceScope">
      <summary>
            A granularity description for who wide of an audience sees the same generated PPID.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.AudienceScope.Realm">
      <summary>
            A unique Identifier is generated for every realm.  This is the highest security setting.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.AudienceScope.RealmHost">
      <summary>
            Only the host name in the realm is used in calculating the PPID,
            allowing for some level of sharing of the PPID Identifiers between RPs
            that are able to share the same realm host value.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.PrivatePersonalIdentifierProviderBase.AudienceScope.Global">
      <summary>
            Although the user's Identifier is still opaque to the RP so they cannot determine
            who the user is at the OP, the same Identifier is used at all RPs so collusion
            between the RPs is possible.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.AnonymousRequest">
      <summary>
            Provides access to a host Provider to read an incoming extension-only checkid request message,
            and supply extension responses or a cancellation message to the RP.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest">
      <summary>
            A base class from which identity and non-identity RP requests can derive.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.Request">
      <summary>
            Implements the <see cref="T:DotNetOpenAuth.OpenId.Provider.IRequest" /> interface for all incoming
            request messages to an OpenID Provider.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IRequest">
      <summary>
            Represents an incoming OpenId authentication request.
            </summary>
      <remarks>
            Requests may be infrastructural to OpenID and allow auto-responses, or they may
            be authentication requests where the Provider site has to make decisions based
            on its own user database and policies.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IRequest.AddResponseExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)">
      <summary>
            Adds an extension to the response to send to the relying party.
            </summary>
      <param name="extension">The extension to add to the response message.</param>
      <requires exception="T:System.ArgumentNullException">extension != null</requires>
      <exception cref="T:System.ArgumentNullException">extension == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IRequest.ClearResponseExtensions">
      <summary>
            Removes any response extensions previously added using <see cref="M:DotNetOpenAuth.OpenId.Provider.IRequest.AddResponseExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)" />.
            </summary>
      <remarks>
            This should be called before sending a negative response back to the relying party
            if extensions were already added, since negative responses cannot carry extensions.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IRequest.GetExtension``1">
      <summary>
            Gets an extension sent from the relying party.
            </summary>
      <typeparam name="T">The type of the extension.</typeparam>
      <returns>An instance of the extension initialized with values passed in with the request.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IRequest.GetExtension(System.Type)">
      <summary>
            Gets an extension sent from the relying party.
            </summary>
      <param name="extensionType">The type of the extension.</param>
      <returns>An instance of the extension initialized with values passed in with the request.</returns>
      <requires exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IRequest.IsResponseReady">
      <summary>
            Gets a value indicating whether the response is ready to be sent to the user agent.
            </summary>
      <remarks>
            This property returns false if there are properties that must be set on this
            request instance before the response can be sent.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IRequest.SecuritySettings">
      <summary>
            Gets or sets the security settings that apply to this request.
            </summary>
      <value>Defaults to the <see cref="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.SecuritySettings" /> on the <see cref="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider" />.</value>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.Request.request">
      <summary>
            The incoming request message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.Request.extensibleMessage">
      <summary>
            The incoming request message cast to its extensible form.  
            Or null if the message does not support extensions.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.Request.protocolVersion">
      <summary>
            The version of the OpenID protocol to use.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.Request.protocol">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.Provider.Request.Protocol" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.Request.responseExtensions">
      <summary>
            The list of extensions to add to the response message.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.Request.#ctor(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.Request" /> class.
            </summary>
      <param name="request">The incoming request message.</param>
      <param name="securitySettings">The security settings from the channel.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.Request.#ctor(System.Version,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.Request" /> class.
            </summary>
      <param name="version">The version.</param>
      <param name="securitySettings">The security settings.</param>
      <requires exception="T:System.ArgumentNullException">version != null</requires>
      <exception cref="T:System.ArgumentNullException">version == null</exception>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.Request.AddResponseExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)">
      <summary>
            Adds an extension to the response to send to the relying party.
            </summary>
      <param name="extension">The extension to add to the response message.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IRequest.AddResponseExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)" inheritedFromTypeName="IRequest" exception="T:System.ArgumentNullException">extension != null</requires>
      <exception cref="T:System.ArgumentNullException">extension == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.Request.ClearResponseExtensions">
      <summary>
            Removes any response extensions previously added using <see cref="M:DotNetOpenAuth.OpenId.Provider.Request.AddResponseExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)" />.
            </summary>
      <remarks>
            This should be called before sending a negative response back to the relying party
            if extensions were already added, since negative responses cannot carry extensions.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.Request.GetExtension``1">
      <summary>
            Gets an extension sent from the relying party.
            </summary>
      <typeparam name="T">The type of the extension.</typeparam>
      <returns>
            An instance of the extension initialized with values passed in with the request.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.Request.GetExtension(System.Type)">
      <summary>
            Gets an extension sent from the relying party.
            </summary>
      <param name="extensionType">The type of the extension.</param>
      <returns>
            An instance of the extension initialized with values passed in with the request.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IRequest.GetExtension(System.Type)" inheritedFromTypeName="IRequest" exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.Request.IsResponseReady">
      <summary>
            Gets a value indicating whether the response is ready to be sent to the user agent.
            </summary>
      <remarks>
            This property returns false if there are properties that must be set on this
            request instance before the response can be sent.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.Request.SecuritySettings">
      <summary>
            Gets or sets the security settings that apply to this request.
            </summary>
      <value>Defaults to the <see cref="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.SecuritySettings" /> on the <see cref="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider" />.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.Request.Response">
      <summary>
            Gets the response to send to the user agent.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:DotNetOpenAuth.OpenId.Provider.Request.IsResponseReady" /> is <c>false</c>.</exception>
      <getter>
        <requires exception="T:System.InvalidOperationException">this.IsResponseReady</requires>
        <ensures>Contract.Result&lt;IProtocolMessage&gt;() != null</ensures>
      </getter>
      <exception cref="T:System.InvalidOperationException">!(this.IsResponseReady)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.Request.RequestMessage">
      <summary>
            Gets the original request message.
            </summary>
      <value>This may be null in the case of an unrecognizable message.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.Request.ResponseMessage">
      <summary>
            Gets the response message, once <see cref="P:DotNetOpenAuth.OpenId.Provider.Request.IsResponseReady" /> is <c>true</c>.
            </summary>
      <getter>
        <requires exception="T:System.InvalidOperationException">this.IsResponseReady</requires>
        <ensures>Contract.Result&lt;IProtocolMessage&gt;() != null</ensures>
      </getter>
      <exception cref="T:System.InvalidOperationException">!(this.IsResponseReady)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.Request.Protocol">
      <summary>
            Gets the protocol version used in the request.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest">
      <summary>
            Interface exposing incoming messages to the OpenID Provider that
            require interaction with the host site.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest.IsReturnUrlDiscoverable(DotNetOpenAuth.OpenId.Provider.OpenIdProvider)">
      <summary>
            Attempts to perform relying party discovery of the return URL claimed by the Relying Party.
            </summary>
      <param name="provider">The OpenIdProvider that is performing the RP discovery.</param>
      <returns>
            	The details of how successful the relying party discovery was.
            </returns>
      <remarks>
        <para>Return URL verification is only attempted if this method is called.</para>
        <para>See OpenID Authentication 2.0 spec section 9.2.1.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">provider != null</requires>
      <exception cref="T:System.ArgumentNullException">provider == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest.RelyingPartyVersion">
      <summary>
            Gets the version of OpenID being used by the relying party that sent the request.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest.Realm">
      <summary>
            Gets the URL the consumer site claims to use as its 'base' address.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest.Immediate">
      <summary>
            Gets a value indicating whether the consumer demands an immediate response.
            If false, the consumer is willing to wait for the identity provider
            to authenticate the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest.ProviderEndpoint">
      <summary>
            Gets or sets the provider endpoint claimed in the positive assertion.
            </summary>
      <value>
            The default value is the URL that the request came in on from the relying party.
            This value MUST match the value for the OP Endpoint in the discovery results for the
            claimed identifier being asserted in a positive response.
            </value>
      <getter>
        <ensures>Contract.Result&lt;Uri&gt;() != null</ensures>
      </getter>
      <setter>
        <requires>value != null</requires>
      </setter>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.negativeResponse">
      <summary>
            The negative assertion to send, if the host site chooses to send it.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.realmDiscoveryResult">
      <summary>
            A cache of the result from discovery of the Realm URL.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.#ctor(DotNetOpenAuth.OpenId.Provider.OpenIdProvider,DotNetOpenAuth.OpenId.Messages.SignedResponseRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest" /> class.
            </summary>
      <param name="provider">The provider that received the request.</param>
      <param name="request">The incoming request message.</param>
      <requires exception="T:System.ArgumentNullException">provider != null</requires>
      <exception cref="T:System.ArgumentNullException">provider == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.IsReturnUrlDiscoverable(DotNetOpenAuth.OpenId.Provider.OpenIdProvider)">
      <summary>
            Gets a value indicating whether verification of the return URL claimed by the Relying Party
            succeeded.
            </summary>
      <param name="provider">The OpenIdProvider that is performing the RP discovery.</param>
      <returns>Result of realm discovery.</returns>
      <remarks>
            Return URL verification is only attempted if this property is queried.
            The result of the verification is cached per request so calling this
            property getter multiple times in one request is not a performance hit.
            See OpenID Authentication 2.0 spec section 9.2.1.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest.IsReturnUrlDiscoverable(DotNetOpenAuth.OpenId.Provider.OpenIdProvider)" inheritedFromTypeName="IHostProcessedRequest" exception="T:System.ArgumentNullException">provider != null</requires>
      <exception cref="T:System.ArgumentNullException">provider == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.IsReturnUrlDiscoverableCore(DotNetOpenAuth.OpenId.Provider.OpenIdProvider)">
      <summary>
            Gets a value indicating whether verification of the return URL claimed by the Relying Party
            succeeded.
            </summary>
      <param name="provider">The OpenIdProvider that is performing the RP discovery.</param>
      <returns>Result of realm discovery.</returns>
      <requires exception="T:System.ArgumentNullException">provider != null</requires>
      <exception cref="T:System.ArgumentNullException">provider == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.RelyingPartyVersion">
      <summary>
            Gets the version of OpenID being used by the relying party that sent the request.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.Immediate">
      <summary>
            Gets a value indicating whether the consumer demands an immediate response.
            If false, the consumer is willing to wait for the identity provider
            to authenticate the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.Realm">
      <summary>
            Gets the URL the consumer site claims to use as its 'base' address.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.ProviderEndpoint">
      <summary>
            Gets or sets the provider endpoint.
            </summary>
      <value>
            The default value is the URL that the request came in on from the relying party.
            </value>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest.get_ProviderEndpoint" inheritedFromTypeName="IHostProcessedRequest">Contract.Result&lt;Uri&gt;() != null</ensures>
      </getter>
      <setter>
        <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest.set_ProviderEndpoint(System.Uri)" inheritedFromTypeName="IHostProcessedRequest">value != null</requires>
      </setter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.HasRealmDiscoveryBeenPerformed">
      <summary>
            Gets a value indicating whether realm discovery been performed.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.NegativeResponse">
      <summary>
            Gets the negative response.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.RequestMessage">
      <summary>
            Gets the original request message.
            </summary>
      <value>This may be null in the case of an unrecognizable message.</value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IAnonymousRequest">
      <summary>
            Instances of this interface represent incoming extension-only requests.
            This interface provides the details of the request and allows setting
            the response.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAnonymousRequest.IsApproved">
      <summary>
            Gets or sets a value indicating whether the user approved sending any data to the relying party.
            </summary>
      <value>
        <c>true</c> if approved; otherwise, <c>false</c>.</value>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.AnonymousRequest.positiveResponse">
      <summary>
            The extension-response message to send, if the host site chooses to send it.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.AnonymousRequest.#ctor(DotNetOpenAuth.OpenId.Provider.OpenIdProvider,DotNetOpenAuth.OpenId.Messages.SignedResponseRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.AnonymousRequest" /> class.
            </summary>
      <param name="provider">The provider that received the request.</param>
      <param name="request">The incoming authentication request message.</param>
      <requires exception="T:System.ArgumentNullException">provider != null</requires>
      <exception cref="T:System.ArgumentNullException">provider == null</exception>
      <requires description="Instantiate AuthenticationRequest to handle this kind of message." exception="T:System.ArgumentException">!(request is CheckIdRequest)</requires>
      <exception cref="T:System.ArgumentException">(request is CheckIdRequest)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AnonymousRequest.ProviderEndpoint">
      <summary>
            Gets or sets the provider endpoint.
            </summary>
      <value>
            The default value is the URL that the request came in on from the relying party.
            </value>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest.get_ProviderEndpoint" inheritedFromTypeName="IHostProcessedRequest">Contract.Result&lt;Uri&gt;() != null</ensures>
      </getter>
      <setter>
        <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest.set_ProviderEndpoint(System.Uri)" inheritedFromTypeName="IHostProcessedRequest">value != null</requires>
      </setter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AnonymousRequest.IsApproved">
      <summary>
            Gets or sets a value indicating whether the user approved sending any data to the relying party.
            </summary>
      <value>
        <c>true</c> if approved; otherwise, <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AnonymousRequest.IsResponseReady">
      <summary>
            Gets a value indicating whether the response is ready to be sent to the user agent.
            </summary>
      <remarks>
            This property returns false if there are properties that must be set on this
            request instance before the response can be sent.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AnonymousRequest.ResponseMessage">
      <summary>
            Gets the response message, once <see cref="P:DotNetOpenAuth.OpenId.Provider.AnonymousRequest.IsResponseReady" /> is <c>true</c>.
            </summary>
      <getter>
        <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.Request.get_ResponseMessage" inheritedFromTypeName="Request" exception="T:System.InvalidOperationException">this.IsResponseReady</requires>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.Request.get_ResponseMessage" inheritedFromTypeName="Request">Contract.Result&lt;IProtocolMessage&gt;() != null</ensures>
      </getter>
      <exception cref="T:System.InvalidOperationException">!(this.IsResponseReady)</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.AnonymousRequestEventArgs">
      <summary>
            The event arguments that include details of the incoming request.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.AnonymousRequestEventArgs.#ctor(DotNetOpenAuth.OpenId.Provider.IAnonymousRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.AnonymousRequestEventArgs" /> class.
            </summary>
      <param name="request">The incoming OpenID request.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AnonymousRequestEventArgs.Request">
      <summary>
            Gets the incoming OpenID request.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.AuthenticationChallengeEventArgs">
      <summary>
            The event arguments that include details of the incoming request.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.AuthenticationChallengeEventArgs.#ctor(DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.AuthenticationChallengeEventArgs" /> class.
            </summary>
      <param name="request">The incoming authentication request.</param>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AuthenticationChallengeEventArgs.Request">
      <summary>
            Gets the incoming authentication request.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest">
      <summary>
            Implements the <see cref="T:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest" /> interface
            so that OpenID Provider sites can easily respond to authentication
            requests.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest">
      <summary>
            Instances of this interface represent incoming authentication requests.
            This interface provides the details of the request and allows setting
            the response.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.SetClaimedIdentifierFragment(System.String)">
      <summary>
            Adds an optional fragment (#fragment) portion to the ClaimedIdentifier.
            Useful for identifier recycling.
            </summary>
      <param name="fragment">
            Should not include the # prefix character as that will be added internally.
            May be null or the empty string to clear a previously set fragment.
            </param>
      <remarks>
        <para>Unlike the <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.ClaimedIdentifier" /> property, which can only be set if
            using directed identity, this method can be called on any URI claimed identifier.</para>
        <para>Because XRI claimed identifiers (the canonical IDs) are never recycled,
            this method should<i>not</i> be called for XRIs.</para>
      </remarks>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this method is called on an XRI, or on a directed identity 
            request before the <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.ClaimedIdentifier" /> property is set.
            </exception>
      <requires exception="T:System.InvalidOperationException">!(((IAuthenticationRequest)this).IsDirectedIdentity &amp;&amp; ((IAuthenticationRequest)this).ClaimedIdentifier == null)</requires>
      <exception cref="T:System.InvalidOperationException">!(!(((IAuthenticationRequest)this).IsDirectedIdentity &amp;&amp; ((IAuthenticationRequest)this).ClaimedIdentifier == null))</exception>
      <requires exception="T:System.InvalidOperationException">!(((IAuthenticationRequest)this).ClaimedIdentifier is XriIdentifier)</requires>
      <exception cref="T:System.InvalidOperationException">!(!(((IAuthenticationRequest)this).ClaimedIdentifier is XriIdentifier))</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.IsDirectedIdentity">
      <summary>
            Gets a value indicating whether the Provider should help the user 
            select a Claimed Identifier to send back to the relying party.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.IsDelegatedIdentifier">
      <summary>
            Gets a value indicating whether the requesting Relying Party is using a delegated URL.
            </summary>
      <remarks>
            When delegated identifiers are used, the <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.ClaimedIdentifier" /> should not
            be changed at the Provider during authentication.
            Delegation is only detectable on requests originating from OpenID 2.0 relying parties.
            A relying party implementing only OpenID 1.x may use delegation and this property will
            return false anyway.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.LocalIdentifier">
      <summary>
            Gets or sets the Local Identifier to this OpenID Provider of the user attempting 
            to authenticate.  Check <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.IsDirectedIdentity" /> to see if
            this value is valid.
            </summary>
      <remarks>
            This may or may not be the same as the Claimed Identifier that the user agent
            originally supplied to the relying party.  The Claimed Identifier
            endpoint may be delegating authentication to this provider using
            this provider's local id, which is what this property contains.
            Use this identifier when looking up this user in the provider's user account
            list.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.ClaimedIdentifier">
      <summary>
            Gets or sets the identifier that the user agent is claiming at the relying party site.
            Check <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.IsDirectedIdentity" /> to see if this value is valid.
            </summary>
      <remarks>
        <para>This property can only be set if <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.IsDelegatedIdentifier" /> is
            false, to prevent breaking URL delegation.</para>
        <para>This will not be the same as this provider's local identifier for the user
            if the user has set up his/her own identity page that points to this 
            provider for authentication.</para>
        <para>The provider may use this identifier for displaying to the user when
            asking for the user's permission to authenticate to the relying party.</para>
      </remarks>
      <exception cref="T:System.InvalidOperationException">Thrown from the setter 
            if <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.IsDelegatedIdentifier" /> is true.</exception>
      <setter>
        <requires exception="T:System.InvalidOperationException">!req.IsDelegatedIdentifier</requires>
        <requires exception="T:System.InvalidOperationException">!req.IsDirectedIdentity || !(req.LocalIdentifier != null &amp;&amp; req.LocalIdentifier != value)</requires>
      </setter>
      <exception cref="T:System.InvalidOperationException">req.IsDelegatedIdentifier</exception>
      <exception cref="T:System.InvalidOperationException">req.IsDirectedIdentity &amp;&amp; !(!(req.LocalIdentifier != null &amp;&amp; req.LocalIdentifier != value))</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.IsAuthenticated">
      <summary>
            Gets or sets a value indicating whether the provider has determined that the 
            <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.ClaimedIdentifier" /> belongs to the currently logged in user
            and wishes to share this information with the consumer.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.positiveResponse">
      <summary>
            The positive assertion to send, if the host site chooses to send it.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.#ctor(DotNetOpenAuth.OpenId.Provider.OpenIdProvider,DotNetOpenAuth.OpenId.Messages.CheckIdRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest" /> class.
            </summary>
      <param name="provider">The provider that received the request.</param>
      <param name="request">The incoming authentication request message.</param>
      <requires exception="T:System.ArgumentNullException">provider != null</requires>
      <exception cref="T:System.ArgumentNullException">provider == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.SetClaimedIdentifierFragment(System.String)">
      <summary>
            Adds an optional fragment (#fragment) portion to the ClaimedIdentifier.
            Useful for identifier recycling.
            </summary>
      <param name="fragment">Should not include the # prefix character as that will be added internally.
            May be null or the empty string to clear a previously set fragment.</param>
      <remarks>
        <para>Unlike the <see cref="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.ClaimedIdentifier" /> property, which can only be set if
            using directed identity, this method can be called on any URI claimed identifier.</para>
        <para>Because XRI claimed identifiers (the canonical IDs) are never recycled,
            this method should<i>not</i> be called for XRIs.</para>
      </remarks>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this method is called on an XRI, or on a directed identity
            request before the <see cref="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.ClaimedIdentifier" /> property is set.
            </exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.SetClaimedIdentifierFragment(System.String)" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.InvalidOperationException">!(((IAuthenticationRequest)this).IsDirectedIdentity &amp;&amp; ((IAuthenticationRequest)this).ClaimedIdentifier == null)</requires>
      <exception cref="T:System.InvalidOperationException">!(!(((IAuthenticationRequest)this).IsDirectedIdentity &amp;&amp; ((IAuthenticationRequest)this).ClaimedIdentifier == null))</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.SetClaimedIdentifierFragment(System.String)" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.InvalidOperationException">!(((IAuthenticationRequest)this).ClaimedIdentifier is XriIdentifier)</requires>
      <exception cref="T:System.InvalidOperationException">!(!(((IAuthenticationRequest)this).ClaimedIdentifier is XriIdentifier))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.ResetClaimedAndLocalIdentifiers(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Sets the Claimed and Local identifiers even after they have been initially set.
            </summary>
      <param name="identifier">The value to set to the <see cref="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.ClaimedIdentifier" /> and <see cref="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.LocalIdentifier" /> properties.</param>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.ProviderEndpoint">
      <summary>
            Gets or sets the provider endpoint.
            </summary>
      <value>
            The default value is the URL that the request came in on from the relying party.
            </value>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest.get_ProviderEndpoint" inheritedFromTypeName="IHostProcessedRequest">Contract.Result&lt;Uri&gt;() != null</ensures>
      </getter>
      <setter>
        <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest.set_ProviderEndpoint(System.Uri)" inheritedFromTypeName="IHostProcessedRequest">value != null</requires>
      </setter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.IsResponseReady">
      <summary>
            Gets a value indicating whether the response is ready to be created and sent.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.IsDirectedIdentity">
      <summary>
            Gets a value indicating whether the Provider should help the user
            select a Claimed Identifier to send back to the relying party.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.IsDelegatedIdentifier">
      <summary>
            Gets a value indicating whether the requesting Relying Party is using a delegated URL.
            </summary>
      <remarks>
            When delegated identifiers are used, the <see cref="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.ClaimedIdentifier" /> should not
            be changed at the Provider during authentication.
            Delegation is only detectable on requests originating from OpenID 2.0 relying parties.
            A relying party implementing only OpenID 1.x may use delegation and this property will
            return false anyway.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.LocalIdentifier">
      <summary>
            Gets or sets the Local Identifier to this OpenID Provider of the user attempting
            to authenticate.  Check <see cref="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.IsDirectedIdentity" /> to see if
            this value is valid.
            </summary>
      <remarks>
            This may or may not be the same as the Claimed Identifier that the user agent
            originally supplied to the relying party.  The Claimed Identifier
            endpoint may be delegating authentication to this provider using
            this provider's local id, which is what this property contains.
            Use this identifier when looking up this user in the provider's user account
            list.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.ClaimedIdentifier">
      <summary>
            Gets or sets the identifier that the user agent is claiming at the relying party site.
            Check <see cref="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.IsDirectedIdentity" /> to see if this value is valid.
            </summary>
      <remarks>
        <para>This property can only be set if <see cref="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.IsDelegatedIdentifier" /> is
            false, to prevent breaking URL delegation.</para>
        <para>This will not be the same as this provider's local identifier for the user
            if the user has set up his/her own identity page that points to this
            provider for authentication.</para>
        <para>The provider may use this identifier for displaying to the user when
            asking for the user's permission to authenticate to the relying party.</para>
      </remarks>
      <exception cref="T:System.InvalidOperationException">Thrown from the setter
            if <see cref="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.IsDelegatedIdentifier" /> is true.</exception>
      <setter>
        <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.set_ClaimedIdentifier(DotNetOpenAuth.OpenId.Identifier)" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.InvalidOperationException">!req.IsDelegatedIdentifier</requires>
        <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.set_ClaimedIdentifier(DotNetOpenAuth.OpenId.Identifier)" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.InvalidOperationException">!req.IsDirectedIdentity || !(req.LocalIdentifier != null &amp;&amp; req.LocalIdentifier != value)</requires>
      </setter>
      <exception cref="T:System.InvalidOperationException">req.IsDelegatedIdentifier</exception>
      <exception cref="T:System.InvalidOperationException">req.IsDirectedIdentity &amp;&amp; !(!(req.LocalIdentifier != null &amp;&amp; req.LocalIdentifier != value))</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.IsAuthenticated">
      <summary>
            Gets or sets a value indicating whether the provider has determined that the
            <see cref="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.ClaimedIdentifier" /> belongs to the currently logged in user
            and wishes to share this information with the consumer.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.RequestMessage">
      <summary>
            Gets the original request message.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.ResponseMessage">
      <summary>
            Gets the response message, once <see cref="P:DotNetOpenAuth.OpenId.Provider.AuthenticationRequest.IsResponseReady" /> is <c>true</c>.
            </summary>
      <getter>
        <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.Request.get_ResponseMessage" inheritedFromTypeName="Request" exception="T:System.InvalidOperationException">this.IsResponseReady</requires>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.Request.get_ResponseMessage" inheritedFromTypeName="Request">Contract.Result&lt;IProtocolMessage&gt;() != null</ensures>
      </getter>
      <exception cref="T:System.InvalidOperationException">!(this.IsResponseReady)</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.AutoResponsiveRequest">
      <summary>
            Handles messages coming into an OpenID Provider for which the entire
            response message can be automatically determined without help from
            the hosting web site.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.AutoResponsiveRequest.response">
      <summary>
            The response message to send.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.AutoResponsiveRequest.#ctor(DotNetOpenAuth.Messaging.IDirectedProtocolMessage,DotNetOpenAuth.Messaging.IProtocolMessage,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.AutoResponsiveRequest" /> class.
            </summary>
      <param name="request">The request message.</param>
      <param name="response">The response that is ready for transmittal.</param>
      <param name="securitySettings">The security settings.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.AutoResponsiveRequest.#ctor(DotNetOpenAuth.Messaging.IProtocolMessage,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.AutoResponsiveRequest" /> class
            for a response to an unrecognizable request.
            </summary>
      <param name="response">The response that is ready for transmittal.</param>
      <param name="securitySettings">The security settings.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AutoResponsiveRequest.IsResponseReady">
      <summary>
            Gets a value indicating whether the response is ready to be sent to the user agent.
            </summary>
      <remarks>
            This property returns false if there are properties that must be set on this
            request instance before the response can be sent.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AutoResponsiveRequest.ResponseMessageTestHook">
      <summary>
            Gets the response message, once <see cref="P:DotNetOpenAuth.OpenId.Provider.AutoResponsiveRequest.IsResponseReady" /> is <c>true</c>.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.AutoResponsiveRequest.ResponseMessage">
      <summary>
            Gets the response message, once <see cref="P:DotNetOpenAuth.OpenId.Provider.AutoResponsiveRequest.IsResponseReady" /> is <c>true</c>.
            </summary>
      <getter>
        <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.Request.get_ResponseMessage" inheritedFromTypeName="Request" exception="T:System.InvalidOperationException">this.IsResponseReady</requires>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.Request.get_ResponseMessage" inheritedFromTypeName="Request">Contract.Result&lt;IProtocolMessage&gt;() != null</ensures>
      </getter>
      <exception cref="T:System.InvalidOperationException">!(this.IsResponseReady)</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract">
      <summary>
            Code contract class for the <see cref="T:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest" /> type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IAuthenticationRequest#SetClaimedIdentifierFragment(System.String)">
      <summary>
            Adds an optional fragment (#fragment) portion to the ClaimedIdentifier.
            Useful for identifier recycling.
            </summary>
      <param name="fragment">Should not include the # prefix character as that will be added internally.
            May be null or the empty string to clear a previously set fragment.</param>
      <remarks>
        <para>Unlike the <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.ClaimedIdentifier" /> property, which can only be set if
            using directed identity, this method can be called on any URI claimed identifier.</para>
        <para>Because XRI claimed identifiers (the canonical IDs) are never recycled,
            this method should<i>not</i> be called for XRIs.</para>
      </remarks>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this method is called on an XRI, or on a directed identity
            request before the <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.ClaimedIdentifier" /> property is set.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IHostProcessedRequest#IsReturnUrlDiscoverable(DotNetOpenAuth.OpenId.Provider.OpenIdProvider)">
      <summary>
            Attempts to perform relying party discovery of the return URL claimed by the Relying Party.
            </summary>
      <param name="provider">The OpenIdProvider that is performing the RP discovery.</param>
      <returns>
            The details of how successful the relying party discovery was.
            </returns>
      <remarks>
        <para>Return URL verification is only attempted if this method is called.</para>
        <para>See OpenID Authentication 2.0 spec section 9.2.1.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#AddResponseExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)">
      <summary>
            Adds an extension to the response to send to the relying party.
            </summary>
      <param name="extension">The extension to add to the response message.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#ClearResponseExtensions">
      <summary>
            Removes any response extensions previously added using <see cref="M:DotNetOpenAuth.OpenId.Provider.IRequest.AddResponseExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)" />.
            </summary>
      <remarks>
            This should be called before sending a negative response back to the relying party
            if extensions were already added, since negative responses cannot carry extensions.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#GetExtension``1">
      <summary>
            Gets an extension sent from the relying party.
            </summary>
      <typeparam name="T">The type of the extension.</typeparam>
      <returns>
            An instance of the extension initialized with values passed in with the request.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#GetExtension(System.Type)">
      <summary>
            Gets an extension sent from the relying party.
            </summary>
      <param name="extensionType">The type of the extension.</param>
      <returns>
            An instance of the extension initialized with values passed in with the request.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IAuthenticationRequest#IsDirectedIdentity">
      <summary>
            Gets a value indicating whether the Provider should help the user
            select a Claimed Identifier to send back to the relying party.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IAuthenticationRequest#IsDelegatedIdentifier">
      <summary>
            Gets a value indicating whether the requesting Relying Party is using a delegated URL.
            </summary>
      <remarks>
            When delegated identifiers are used, the <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.ClaimedIdentifier" /> should not
            be changed at the Provider during authentication.
            Delegation is only detectable on requests originating from OpenID 2.0 relying parties.
            A relying party implementing only OpenID 1.x may use delegation and this property will
            return false anyway.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IAuthenticationRequest#LocalIdentifier">
      <summary>
            Gets or sets the Local Identifier to this OpenID Provider of the user attempting
            to authenticate.  Check <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.IsDirectedIdentity" /> to see if
            this value is valid.
            </summary>
      <remarks>
            This may or may not be the same as the Claimed Identifier that the user agent
            originally supplied to the relying party.  The Claimed Identifier
            endpoint may be delegating authentication to this provider using
            this provider's local id, which is what this property contains.
            Use this identifier when looking up this user in the provider's user account
            list.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IAuthenticationRequest#ClaimedIdentifier">
      <summary>
            Gets or sets the identifier that the user agent is claiming at the relying party site.
            Check <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.IsDirectedIdentity" /> to see if this value is valid.
            </summary>
      <remarks>
        <para>This property can only be set if <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.IsDelegatedIdentifier" /> is
            false, to prevent breaking URL delegation.</para>
        <para>This will not be the same as this provider's local identifier for the user
            if the user has set up his/her own identity page that points to this
            provider for authentication.</para>
        <para>The provider may use this identifier for displaying to the user when
            asking for the user's permission to authenticate to the relying party.</para>
      </remarks>
      <exception cref="T:System.InvalidOperationException">Thrown from the setter
            if <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.IsDelegatedIdentifier" /> is true.</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IAuthenticationRequest#IsAuthenticated">
      <summary>
            Gets or sets a value indicating whether the provider has determined that the
            <see cref="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest.ClaimedIdentifier" /> belongs to the currently logged in user
            and wishes to share this information with the consumer.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IHostProcessedRequest#RelyingPartyVersion">
      <summary>
            Gets the version of OpenID being used by the relying party that sent the request.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IHostProcessedRequest#Realm">
      <summary>
            Gets the URL the consumer site claims to use as its 'base' address.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IHostProcessedRequest#Immediate">
      <summary>
            Gets a value indicating whether the consumer demands an immediate response.
            If false, the consumer is willing to wait for the identity provider
            to authenticate the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IHostProcessedRequest#ProviderEndpoint">
      <summary>
            Gets or sets the provider endpoint claimed in the positive assertion.
            </summary>
      <value>
            The default value is the URL that the request came in on from the relying party.
            This value MUST match the value for the OP Endpoint in the discovery results for the
            claimed identifier being asserted in a positive response.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#IsResponseReady">
      <summary>
            Gets a value indicating whether the response is ready to be sent to the user agent.
            </summary>
      <remarks>
            This property returns false if there are properties that must be set on this
            request instance before the response can be sent.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IAuthenticationRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#SecuritySettings">
      <summary>
            Gets or sets the security settings that apply to this request.
            </summary>
      <value>
            Defaults to the <see cref="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.SecuritySettings" /> on the <see cref="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider" />.
            </value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IDirectedIdentityIdentifierProviderContract">
      <summary>
            Contract class for the <see cref="T:DotNetOpenAuth.OpenId.Provider.IDirectedIdentityIdentifierProvider" /> type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IDirectedIdentityIdentifierProviderContract.DotNetOpenAuth#OpenId#Provider#IDirectedIdentityIdentifierProvider#GetIdentifier(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm)">
      <summary>
            Gets the Identifier to use for the Claimed Identifier and Local Identifier of
            an outgoing positive assertion.
            </summary>
      <param name="localIdentifier">The OP local identifier for the authenticating user.</param>
      <param name="relyingPartyRealm">The realm of the relying party receiving the assertion.</param>
      <returns>
            A valid, discoverable OpenID Identifier that should be used as the value for the
            openid.claimed_id and openid.local_id parameters.  Must not be null.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IDirectedIdentityIdentifierProviderContract.DotNetOpenAuth#OpenId#Provider#IDirectedIdentityIdentifierProvider#IsUserLocalIdentifier(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Determines whether a given identifier is the primary (non-PPID) local identifier for some user.
            </summary>
      <param name="identifier">The identifier in question.</param>
      <returns>
        <c>true</c> if the given identifier is the valid, unique identifier for some uesr (and NOT a PPID); otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest" /> type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#AddResponseExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)">
      <summary>
            Adds an extension to the response to send to the relying party.
            </summary>
      <param name="extension">The extension to add to the response message.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#ClearResponseExtensions">
      <summary>
            Removes any response extensions previously added using <see cref="M:DotNetOpenAuth.OpenId.Provider.IRequest.AddResponseExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)" />.
            </summary>
      <remarks>
            This should be called before sending a negative response back to the relying party
            if extensions were already added, since negative responses cannot carry extensions.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#GetExtension``1">
      <summary>
            Gets an extension sent from the relying party.
            </summary>
      <typeparam name="T">The type of the extension.</typeparam>
      <returns>
            An instance of the extension initialized with values passed in with the request.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#GetExtension(System.Type)">
      <summary>
            Gets an extension sent from the relying party.
            </summary>
      <param name="extensionType">The type of the extension.</param>
      <returns>
            An instance of the extension initialized with values passed in with the request.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract.DotNetOpenAuth#OpenId#Provider#IHostProcessedRequest#IsReturnUrlDiscoverable(DotNetOpenAuth.OpenId.Provider.OpenIdProvider)">
      <summary>
            Attempts to perform relying party discovery of the return URL claimed by the Relying Party.
            </summary>
      <param name="provider">The OpenIdProvider that is performing the RP discovery.</param>
      <returns>
            The details of how successful the relying party discovery was.
            </returns>
      <remarks>
        <para>Return URL verification is only attempted if this method is called.</para>
        <para>See OpenID Authentication 2.0 spec section 9.2.1.</para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract.DotNetOpenAuth#OpenId#Provider#IHostProcessedRequest#RelyingPartyVersion">
      <summary>
            Gets the version of OpenID being used by the relying party that sent the request.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract.DotNetOpenAuth#OpenId#Provider#IHostProcessedRequest#Realm">
      <summary>
            Gets the URL the consumer site claims to use as its 'base' address.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract.DotNetOpenAuth#OpenId#Provider#IHostProcessedRequest#Immediate">
      <summary>
            Gets a value indicating whether the consumer demands an immediate response.
            If false, the consumer is willing to wait for the identity provider
            to authenticate the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract.DotNetOpenAuth#OpenId#Provider#IHostProcessedRequest#ProviderEndpoint">
      <summary>
            Gets or sets the provider endpoint.
            </summary>
      <value>
            The default value is the URL that the request came in on from the relying party.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#SecuritySettings">
      <summary>
            Gets or sets the security settings that apply to this request.
            </summary>
      <value>
            Defaults to the <see cref="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.SecuritySettings" /> on the <see cref="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider" />.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IHostProcessedRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#IsResponseReady">
      <summary>
            Gets a value indicating whether the response is ready to be sent to the user agent.
            </summary>
      <remarks>
            This property returns false if there are properties that must be set on this
            request instance before the response can be sent.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IErrorReporting">
      <summary>
            An interface that a Provider site may implement in order to better
            control error reporting.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IErrorReporting.LogError(DotNetOpenAuth.Messaging.ProtocolException)">
      <summary>
            Logs the details of an exception for later reference in diagnosing the problem.
            </summary>
      <param name="exception">The exception that was generated from the error.</param>
      <returns>
            A unique identifier for this particular error that the remote party can
            reference when contacting <see cref="P:DotNetOpenAuth.OpenId.Provider.IErrorReporting.Contact" /> for help with this error.
            May be null.
            </returns>
      <remarks>
            The implementation of this method should never throw an unhandled exception
            as that would preclude the ability to send the error response to the remote
            party.  When this method is not implemented, it should return null rather
            than throwing <see cref="T:System.NotImplementedException" />.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IErrorReporting.Contact">
      <summary>
            Gets the message that can be sent in an error response
            with information on who the remote party can contact
            for help resolving the error.
            </summary>
      <value>
            The contact address may take any form, as it is intended to be displayed to a person.
            </value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IProviderApplicationStore">
      <summary>
            A hybrid of all the store interfaces that a Provider requires in order
            to operate in "smart" mode.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IProviderBehaviorContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.OpenId.Provider.IProviderBehavior" /> type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IProviderBehaviorContract.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.IProviderBehaviorContract" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IProviderBehaviorContract.DotNetOpenAuth#OpenId#Provider#IProviderBehavior#ApplySecuritySettings(DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Applies a well known set of security requirements to a default set of security settings.
            </summary>
      <param name="securitySettings">The security settings to enhance with the requirements of this profile.</param>
      <remarks>
            Care should be taken to never decrease security when applying a profile.
            Profiles should only enhance security requirements to avoid being
            incompatible with each other.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IProviderBehaviorContract.DotNetOpenAuth#OpenId#Provider#IProviderBehavior#OnIncomingRequest(DotNetOpenAuth.OpenId.Provider.IRequest)">
      <summary>
            Called when a request is received by the Provider.
            </summary>
      <param name="request">The incoming request.</param>
      <returns>
        <c>true</c> if this behavior owns this request and wants to stop other behaviors
            from handling it; <c>false</c> to allow other behaviors to process this request.
            </returns>
      <remarks>
            Implementations may set a new value to <see cref="P:DotNetOpenAuth.OpenId.Provider.IRequest.SecuritySettings" /> but
            should not change the properties on the instance of <see cref="T:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings" />
            itself as that instance may be shared across many requests.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IProviderBehaviorContract.DotNetOpenAuth#OpenId#Provider#IProviderBehavior#OnOutgoingResponse(DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest)">
      <summary>
            Called when the Provider is preparing to send a response to an authentication request.
            </summary>
      <param name="request">The request that is configured to generate the outgoing response.</param>
      <returns>
        <c>true</c> if this behavior owns this request and wants to stop other behaviors
            from handling it; <c>false</c> to allow other behaviors to process this request.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IRequestContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.OpenId.Provider.IRequest" /> interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IRequestContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.IRequestContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#AddResponseExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)">
      <summary>
            Adds an extension to the response to send to the relying party.
            </summary>
      <param name="extension">The extension to add to the response message.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#ClearResponseExtensions">
      <summary>
            Removes any response extensions previously added using <see cref="M:DotNetOpenAuth.OpenId.Provider.IRequest.AddResponseExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)" />.
            </summary>
      <remarks>
            This should be called before sending a negative response back to the relying party
            if extensions were already added, since negative responses cannot carry extensions.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#GetExtension``1">
      <summary>
            Gets an extension sent from the relying party.
            </summary>
      <typeparam name="T">The type of the extension.</typeparam>
      <returns>
            An instance of the extension initialized with values passed in with the request.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#GetExtension(System.Type)">
      <summary>
            Gets an extension sent from the relying party.
            </summary>
      <param name="extensionType">The type of the extension.</param>
      <returns>
            An instance of the extension initialized with values passed in with the request.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#SecuritySettings">
      <summary>
            Gets or sets the security settings that apply to this request.
            </summary>
      <value>
            Defaults to the <see cref="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.SecuritySettings" /> on the <see cref="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider" />.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IRequestContract.DotNetOpenAuth#OpenId#Provider#IRequest#IsResponseReady">
      <summary>
            Gets a value indicating whether the response is ready to be sent to the user agent.
            </summary>
      <remarks>
            This property returns false if there are properties that must be set on this
            request instance before the response can be sent.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint">
      <summary>
            An OpenID Provider control that automatically responds to certain
            automated OpenID messages, and routes authentication requests to
            custom code via an event handler.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.PendingRequestKey">
      <summary>
            The key used to store the pending authentication request in the ASP.NET session.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.EnabledDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.Enabled" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.EnabledViewStateKey">
      <summary>
            The view state key in which to store the value of the <see cref="P:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.Enabled" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.provider">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.Provider" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.providerInitializerLock">
      <summary>
            The lock that must be obtained when initializing the provider field.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.SendResponse">
      <summary>
            Sends the response for the <see cref="P:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.PendingAuthenticationRequest" /> and clears the property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.OnLoad(System.EventArgs)">
      <summary>
            Checks for incoming OpenID requests, responds to ones it can
            respond to without policy checks, and fires events for custom
            handling of the ones it cannot decide on automatically.
            </summary>
      <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnLoad(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.OnAuthenticationChallenge(DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.AuthenticationChallenge" /> event.
            </summary>
      <param name="request">The request to include in the event args.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.OnAnonymousRequest(DotNetOpenAuth.OpenId.Provider.IAnonymousRequest)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.AnonymousRequest" /> event.
            </summary>
      <param name="request">The request to include in the event args.</param>
      <returns>
        <c>true</c> if there were any anonymous request handlers.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.CreateProvider">
      <summary>
            Creates the default OpenIdProvider to use.
            </summary>
      <returns>The new instance of OpenIdProvider.</returns>
      <ensures>Contract.Result&lt;OpenIdProvider&gt;() != null</ensures>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.AuthenticationChallenge">
      <summary>
            Fired when an incoming OpenID request is an authentication challenge
            that must be responded to by the Provider web site according to its
            own user database and policies.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.AnonymousRequest">
      <summary>
            Fired when an incoming OpenID message carries extension requests
            but is not regarding any OpenID identifier.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.Provider">
      <summary>
            Gets or sets the <see cref="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider" /> instance to use for all instances of this control.
            </summary>
      <value>The default value is an <see cref="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider" /> instance initialized according to the web.config file.</value>
      <getter>
        <ensures>Contract.Result&lt;OpenIdProvider&gt;() != null</ensures>
      </getter>
      <setter>
        <requires exception="T:System.ArgumentNullException">value != null</requires>
      </setter>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.PendingAuthenticationRequest">
      <summary>
            Gets or sets an incoming OpenID authentication request that has not yet been responded to.
            </summary>
      <remarks>
            This request is stored in the ASP.NET Session state, so it will survive across
            redirects, postbacks, and transfers.  This allows you to authenticate the user
            yourself, and confirm his/her desire to authenticate to the relying party site
            before responding to the relying party's authentication request.
            </remarks>
      <getter>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current != null</requires>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current.Session != null</requires>
        <ensures>Contract.Result&lt;IAuthenticationRequest&gt;() == null || PendingRequest != null</ensures>
      </getter>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null</exception>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current.Session == null</exception>
      <setter>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current != null</requires>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current.Session != null</requires>
      </setter>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null</exception>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current.Session == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.PendingAnonymousRequest">
      <summary>
            Gets or sets an incoming OpenID anonymous request that has not yet been responded to.
            </summary>
      <remarks>
            This request is stored in the ASP.NET Session state, so it will survive across
            redirects, postbacks, and transfers.  This allows you to authenticate the user
            yourself, and confirm his/her desire to provide data to the relying party site
            before responding to the relying party's request.
            </remarks>
      <getter>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current != null</requires>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current.Session != null</requires>
        <ensures>Contract.Result&lt;IAnonymousRequest&gt;() == null || PendingRequest != null</ensures>
      </getter>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null</exception>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current.Session == null</exception>
      <setter>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current != null</requires>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current.Session != null</requires>
      </setter>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null</exception>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current.Session == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.PendingRequest">
      <summary>
            Gets or sets an incoming OpenID request that has not yet been responded to.
            </summary>
      <remarks>
            This request is stored in the ASP.NET Session state, so it will survive across
            redirects, postbacks, and transfers.  This allows you to authenticate the user
            yourself, and confirm his/her desire to provide data to the relying party site
            before responding to the relying party's request.
            </remarks>
      <getter>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current != null</requires>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current.Session != null</requires>
      </getter>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null</exception>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current.Session == null</exception>
      <setter>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current != null</requires>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current.Session != null</requires>
      </setter>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null</exception>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current.Session == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.ProviderEndpoint.Enabled">
      <summary>
            Gets or sets a value indicating whether or not this control should 
            be listening for and responding to incoming OpenID requests.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.RelyingPartyDiscoveryResult">
      <summary>
            The result codes that may be returned from an attempt at relying party discovery.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.RelyingPartyDiscoveryResult.NoServiceDocument">
      <summary>
            Relying Party discovery failed to find an XRDS document or the document was invalid.
            </summary>
      <remarks>
            This can happen either when a relying party does not offer a service document at all,
            or when a man-in-the-middle attack is in progress that prevents the Provider from being
            able to discover that document.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.RelyingPartyDiscoveryResult.NoMatchingReturnTo">
      <summary>
            Relying Party discovery yielded a valid XRDS document, but no matching return_to URI was found.
            </summary>
      <remarks>
            This is perhaps the most dangerous rating for a relying party, since it suggests that
            they are implementing OpenID 2.0 securely, but that a hijack operation may be in progress.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.RelyingPartyDiscoveryResult.Success">
      <summary>
            Relying Party discovery succeeded, and a matching return_to URI was found.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.RequestContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.OpenId.Provider.Request" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.RequestContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.RequestContract" /> class from being created.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.RequestContract.IsResponseReady">
      <summary>
            Gets a value indicating whether the response is ready to be sent to the user agent.
            </summary>
      <remarks>
            This property returns false if there are properties that must be set on this
            request instance before the response can be sent.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.RequestContract.ResponseMessage">
      <summary>
            Gets the response message, once <see cref="P:DotNetOpenAuth.OpenId.Provider.RequestContract.IsResponseReady" /> is <c>true</c>.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.StandardProviderApplicationStore">
      <summary>
            An in-memory store for Providers, suitable for single server, single process
            ASP.NET web sites.
            </summary>
      <remarks>
            This class provides only a basic implementation that is likely to work
            out of the box on most single-server web sites.  It is highly recommended
            that high traffic web sites consider using a database to store the information
            used by an OpenID Provider and write a custom implementation of the
            <see cref="T:DotNetOpenAuth.OpenId.Provider.IProviderApplicationStore" /> interface to use instead of this
            class.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.StandardProviderApplicationStore.nonceStore">
      <summary>
            The nonce store to use.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.StandardProviderApplicationStore.associationStore">
      <summary>
            The association store to use.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.StandardProviderApplicationStore.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.StandardProviderApplicationStore" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.StandardProviderApplicationStore.StoreAssociation(DotNetOpenAuth.OpenId.AssociationRelyingPartyType,DotNetOpenAuth.OpenId.Association)">
      <summary>
            Saves an <see cref="T:DotNetOpenAuth.OpenId.Association" /> for later recall.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for providers).</param>
      <param name="association">The association to store.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.StandardProviderApplicationStore.GetAssociation(DotNetOpenAuth.OpenId.AssociationRelyingPartyType,DotNetOpenAuth.OpenId.SecuritySettings)">
      <summary>
            Gets the best association (the one with the longest remaining life) for a given key.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for Providers).</param>
      <param name="securityRequirements">The security requirements that the returned association must meet.</param>
      <returns>
            The requested association, or null if no unexpired <see cref="T:DotNetOpenAuth.OpenId.Association" />s exist for the given key.
            </returns>
      <remarks>
            In the event that multiple associations exist for the given
            <paramref name="distinguishingFactor" />, it is important for the
            implementation for this method to use the <paramref name="securityRequirements" />
            to pick the best (highest grade or longest living as the host's policy may dictate)
            association that fits the security requirements.
            Associations that are returned that do not meet the security requirements will be
            ignored and a new association created.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.StandardProviderApplicationStore.GetAssociation(DotNetOpenAuth.OpenId.AssociationRelyingPartyType,System.String)">
      <summary>
            Gets the association for a given key and handle.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for Providers).</param>
      <param name="handle">The handle of the specific association that must be recalled.</param>
      <returns>
            The requested association, or null if no unexpired <see cref="T:DotNetOpenAuth.OpenId.Association" />s exist for the given key and handle.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.StandardProviderApplicationStore.RemoveAssociation(DotNetOpenAuth.OpenId.AssociationRelyingPartyType,System.String)">
      <summary>
            Removes a specified handle that may exist in the store.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for Providers).</param>
      <param name="handle">The handle of the specific association that must be deleted.</param>
      <returns>
            True if the association existed in this store previous to this call.
            </returns>
      <remarks>
            No exception should be thrown if the association does not exist in the store
            before this call.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.StandardProviderApplicationStore.StoreNonce(System.String,System.String,System.DateTime)">
      <summary>
            Stores a given nonce and timestamp.
            </summary>
      <param name="context">The context, or namespace, within which the <paramref name="nonce" /> must be unique.</param>
      <param name="nonce">A series of random characters.</param>
      <param name="timestampUtc">The timestamp that together with the nonce string make it unique.
            The timestamp may also be used by the data store to clear out old nonces.</param>
      <returns>
            True if the nonce+timestamp (combination) was not previously in the database.
            False if the nonce was stored previously with the same timestamp.
            </returns>
      <remarks>
            The nonce must be stored for no less than the maximum time window a message may
            be processed within before being discarded as an expired message.
            If the binding element is applicable to your channel, this expiration window
            is retrieved or set using the
            <see cref="P:DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement.MaximumMessageAge" /> property.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Realm">
      <summary>
            A trust root to validate requests and match return URLs against.
            </summary>
      <remarks>
            This fills the OpenID Authentication 2.0 specification for realms.
            See http://openid.net/specs/openid-authentication-2_0.html#realms
            </remarks>
      <invariant>this.uri != null</invariant>
      <invariant>this.uri.AbsoluteUri != null</invariant>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Realm.WildcardDetectionPattern">
      <summary>
            A regex used to detect a wildcard that is being used in the realm.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Realm.topLevelDomains">
      <summary>
            A (more or less) comprehensive list of top-level (i.e. ".com") domains,
            for use by <see cref="P:DotNetOpenAuth.OpenId.Realm.IsSane" /> in order to disallow overly-broad realms
            that allow all web sites ending with '.com', for example.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Realm.uri">
      <summary>
            The Uri of the realm, with the wildcard (if any) removed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Realm" /> class.
            </summary>
      <param name="realmUrl">The realm URL to use in the new instance.</param>
      <requires exception="T:System.ArgumentNullException">realmUrl != null</requires>
      <exception cref="T:System.ArgumentNullException">realmUrl == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.#ctor(System.Uri)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Realm" /> class.
            </summary>
      <param name="realmUrl">The realm URL of the Relying Party.</param>
      <requires exception="T:System.ArgumentNullException">realmUrl != null</requires>
      <exception cref="T:System.ArgumentNullException">realmUrl == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.#ctor(System.UriBuilder)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Realm" /> class.
            </summary>
      <param name="realmUriBuilder">The realm URI builder.</param>
      <remarks>
            This is useful because UriBuilder can construct a host with a wildcard
            in the Host property, but once there it can't be converted to a Uri.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.op_Implicit(System.String)~DotNetOpenAuth.OpenId.Realm">
      <summary>
            Implicitly converts the string-form of a URI to a <see cref="T:DotNetOpenAuth.OpenId.Realm" /> object.
            </summary>
      <param name="uri">The URI that the new Realm instance will represent.</param>
      <returns>The result of the conversion.</returns>
      <ensures>(Contract.Result&lt;Realm&gt;() != null) == (uri != null)</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.op_Implicit(System.Uri)~DotNetOpenAuth.OpenId.Realm">
      <summary>
            Implicitly converts a <see cref="T:System.Uri" /> to a <see cref="T:DotNetOpenAuth.OpenId.Realm" /> object.
            </summary>
      <param name="uri">The URI to convert to a realm.</param>
      <returns>The result of the conversion.</returns>
      <ensures>(Contract.Result&lt;Realm&gt;() != null) == (uri != null)</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.op_Implicit(DotNetOpenAuth.OpenId.Realm)~System.String">
      <summary>
            Implicitly converts a <see cref="T:DotNetOpenAuth.OpenId.Realm" /> object to its <see cref="T:System.String" /> form.
            </summary>
      <param name="realm">The realm to convert to a string value.</param>
      <returns>The result of the conversion.</returns>
      <ensures>(Contract.Result&lt;string&gt;() != null) == (realm != null)</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.Equals(System.Object)">
      <summary>
            Checks whether one <see cref="T:DotNetOpenAuth.OpenId.Realm" /> is equal to another.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.GetHashCode">
      <summary>
            Returns the hash code used for storing this object in a hash table.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.ToString">
      <summary>
            Returns the string form of this <see cref="T:DotNetOpenAuth.OpenId.Realm" />.
            </summary>
      <returns>
            A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </returns>
      <ensures inheritedFrom="M:System.Object.ToString" inheritedFromTypeName="Object">Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.Contains(System.String)">
      <summary>
            Validates a URL against this trust root.
            </summary>
      <param name="url">A string specifying URL to check.</param>
      <returns>Whether the given URL is within this trust root.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.Contains(System.Uri)">
      <summary>
            Validates a URL against this trust root.
            </summary>
      <param name="url">The URL to check.</param>
      <returns>Whether the given URL is within this trust root.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.DiscoverReturnToEndpoints(DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean)">
      <summary>
            Searches for an XRDS document at the realm URL, and if found, searches
            for a description of a relying party endpoints (OpenId login pages).
            </summary>
      <param name="requestHandler">The mechanism to use for sending HTTP requests.</param>
      <param name="allowRedirects">Whether redirects may be followed when discovering the Realm.
            This may be true when creating an unsolicited assertion, but must be
            false when performing return URL verification per 2.0 spec section 9.2.1.</param>
      <returns>
            The details of the endpoints if found; or <c>null</c> if no service document was discovered.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.Discover(DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean)">
      <summary>
            Searches for an XRDS document at the realm URL.
            </summary>
      <param name="requestHandler">The mechanism to use for sending HTTP requests.</param>
      <param name="allowRedirects">Whether redirects may be followed when discovering the Realm.
            This may be true when creating an unsolicited assertion, but must be
            false when performing return URL verification per 2.0 spec section 9.2.1.</param>
      <returns>
            The XRDS document if found; or <c>null</c> if no service document was discovered.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.SafeUriBuilderToString(System.UriBuilder)">
      <summary>
            Calls <see cref="M:System.UriBuilder.ToString" /> if the argument is non-null.
            Otherwise throws <see cref="T:System.ArgumentNullException" />.
            </summary>
      <param name="realmUriBuilder">The realm URI builder.</param>
      <returns>The result of UriBuilder.ToString()</returns>
      <remarks>
            This simple method is worthwhile because it checks for null
            before dereferencing the UriBuilder.  Since this is called from
            within a constructor's base(...) call, this avoids a <see cref="T:System.NullReferenceException" />
            when we should be throwing an <see cref="T:System.ArgumentNullException" />.
            </remarks>
      <requires exception="T:System.ArgumentNullException">realmUriBuilder != null</requires>
      <exception cref="T:System.ArgumentNullException">realmUriBuilder == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Realm.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Realm.AutoDetect">
      <summary>
            Gets the suggested realm to use for the calling web application.
            </summary>
      <value>A realm that matches this applications root URL.</value>
      <remarks>
        <para>For most circumstances the Realm generated by this property is sufficient.
            However a wildcard Realm, such as "http://*.microsoft.com/" may at times be more
            desirable than "http://www.microsoft.com/" in order to allow identifier
            correlation across related web sites for directed identity Providers.</para>
        <para>Requires an <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> context.</para>
      </remarks>
      <getter>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current != null &amp;&amp; HttpContext.Current.Request != null</requires>
        <ensures>Contract.Result&lt;Realm&gt;() != null</ensures>
      </getter>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null || HttpContext.Current.Request == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Realm.DomainWildcard">
      <summary>
            Gets a value indicating whether a '*.' prefix to the hostname is 
            used in the realm to allow subdomains or hosts to be added to the URL.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Realm.Host">
      <summary>
            Gets the host component of this instance.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Realm.Scheme">
      <summary>
            Gets the scheme name for this URI.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Realm.Port">
      <summary>
            Gets the port number of this URI.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Realm.AbsolutePath">
      <summary>
            Gets the absolute path of the URI.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Realm.PathAndQuery">
      <summary>
            Gets the System.Uri.AbsolutePath and System.Uri.Query properties separated
            by a question mark (?).
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Realm.OriginalString">
      <summary>
            Gets the original string.
            </summary>
      <value>The original string.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Realm.NoWildcardUri">
      <summary>
            Gets the realm URL.  If the realm includes a wildcard, it is not included here.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Realm.UriWithWildcardChangedToWww">
      <summary>
            Gets the Realm discovery URL, where the wildcard (if present) is replaced with "www.".
            </summary>
      <remarks>
            See OpenID 2.0 spec section 9.2.1 for the explanation on the addition of
            the "www" prefix.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Realm.IsSane">
      <summary>
            Gets a value indicating whether this realm represents a reasonable (sane) set of URLs.
            </summary>
      <remarks>
            'http://*.com/', for example is not a reasonable pattern, as it cannot meaningfully 
            specify the site claiming it. This function attempts to find many related examples, 
            but it can only work via heuristics. Negative responses from this method should be 
            treated as advisory, used only to alert the user to examine the trust root carefully.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingPartyEndpointDescription">
      <summary>
            A description of some OpenID Relying Party endpoint.
            </summary>
      <remarks>
            This is an immutable type.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingPartyEndpointDescription.#ctor(System.Uri,System.String[])">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingPartyEndpointDescription" /> class.
            </summary>
      <param name="returnTo">The return to.</param>
      <param name="supportedServiceTypeUris">
            The Type URIs of supported services advertised on a relying party's XRDS document.
            </param>
      <requires exception="T:System.ArgumentNullException">returnTo != null</requires>
      <exception cref="T:System.ArgumentNullException">returnTo == null</exception>
      <requires exception="T:System.ArgumentNullException">supportedServiceTypeUris != null</requires>
      <exception cref="T:System.ArgumentNullException">supportedServiceTypeUris == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingPartyEndpointDescription.GetProtocolFromServices(System.String[])">
      <summary>
            Derives the highest OpenID protocol that this library and the OpenID Provider have
            in common.
            </summary>
      <param name="supportedServiceTypeUris">The supported service type URIs.</param>
      <returns>The best OpenID protocol version to use when communicating with this Provider.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingPartyEndpointDescription.ReturnToEndpoint">
      <summary>
            Gets the URL to the login page on the discovered relying party web site.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingPartyEndpointDescription.Protocol">
      <summary>
            Gets the OpenId protocol that the discovered relying party supports.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.DiffieHellmanUtilities">
      <summary>
            Diffie-Hellman encryption methods used by both the relying party and provider.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.DiffieHellmanUtilities.diffieHellmanSessionTypes">
      <summary>
            An array of known Diffie Hellman sessions, sorted by decreasing hash size.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.DiffieHellmanUtilities.Lookup(DotNetOpenAuth.OpenId.Protocol,System.String)">
      <summary>
            Finds the hashing algorithm to use given an openid.session_type value.
            </summary>
      <param name="protocol">The protocol version of the message that named the session_type to be used.</param>
      <param name="sessionType">The value of the openid.session_type parameter.</param>
      <returns>The hashing algorithm to use.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if no match could be found for the given <paramref name="sessionType" />.</exception>
      <requires exception="T:System.ArgumentNullException">protocol != null</requires>
      <exception cref="T:System.ArgumentNullException">protocol == null</exception>
      <requires exception="T:System.ArgumentNullException">sessionType != null</requires>
      <exception cref="T:System.ArgumentNullException">sessionType == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.DiffieHellmanUtilities.GetNameForSize(DotNetOpenAuth.OpenId.Protocol,System.Int32)">
      <summary>
            Looks up the value to be used for the openid.session_type parameter.
            </summary>
      <param name="protocol">The protocol version that is to be used.</param>
      <param name="hashSizeInBits">The hash size (in bits) that the DH session must have.</param>
      <returns>The value to be used for the openid.session_type parameter, or null if no match was found.</returns>
      <requires exception="T:System.ArgumentNullException">protocol != null</requires>
      <exception cref="T:System.ArgumentNullException">protocol == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.DiffieHellmanUtilities.SHAHashXorSecret(System.Security.Cryptography.HashAlgorithm,Org.Mentalis.Security.Cryptography.DiffieHellman,System.Byte[],System.Byte[])">
      <summary>
            Encrypts/decrypts a shared secret.
            </summary>
      <param name="hasher">The hashing algorithm that is agreed by both parties to use as part of the secret exchange.</param>
      <param name="dh">
            If the secret is being encrypted, this is the new Diffie Hellman object to use.
            If the secret is being decrypted, this must be the same Diffie Hellman object used to send the original request message.
            </param>
      <param name="remotePublicKey">The public key of the remote party.</param>
      <param name="plainOrEncryptedSecret">The secret to encode, or the encoded secret.  Whichever one is given will generate the opposite in the return value.</param>
      <returns>
            The encrypted version of the secret if the secret itself was given in <paramref name="remotePublicKey" />.
            The secret itself if the encrypted version of the secret was given in <paramref name="remotePublicKey" />.
            </returns>
      <requires exception="T:System.ArgumentNullException">hasher != null</requires>
      <exception cref="T:System.ArgumentNullException">hasher == null</exception>
      <requires exception="T:System.ArgumentNullException">dh != null</requires>
      <exception cref="T:System.ArgumentNullException">dh == null</exception>
      <requires exception="T:System.ArgumentNullException">remotePublicKey != null</requires>
      <exception cref="T:System.ArgumentNullException">remotePublicKey == null</exception>
      <requires exception="T:System.ArgumentNullException">plainOrEncryptedSecret != null</requires>
      <exception cref="T:System.ArgumentNullException">plainOrEncryptedSecret == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.DiffieHellmanUtilities.EnsurePositive(System.Byte[])">
      <summary>
            Ensures that the big integer represented by a given series of bytes
            is a positive integer.
            </summary>
      <param name="inputBytes">The bytes that make up the big integer.</param>
      <returns>
            A byte array (possibly new if a change was required) whose
            integer is guaranteed to be positive.
            </returns>
      <remarks>
            This is to be consistent with OpenID spec section 4.2.
            </remarks>
      <requires exception="T:System.ArgumentNullException">inputBytes != null</requires>
      <exception cref="T:System.ArgumentNullException">inputBytes == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.DiffieHellmanUtilities.DHSha">
      <summary>
            Provides access to a Diffie-Hellman session algorithm and its name.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.DiffieHellmanUtilities.DHSha.#ctor(System.Security.Cryptography.HashAlgorithm,System.Func{DotNetOpenAuth.OpenId.Protocol,System.String})">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.DiffieHellmanUtilities.DHSha" /> class.
            </summary>
      <param name="algorithm">The hashing algorithm used in this particular Diffie-Hellman session type.</param>
      <param name="getName">A function that will return the value of the openid.session_type parameter for a given version of OpenID.</param>
      <requires exception="T:System.ArgumentNullException">algorithm != null</requires>
      <exception cref="T:System.ArgumentNullException">algorithm == null</exception>
      <requires exception="T:System.ArgumentNullException">getName != null</requires>
      <exception cref="T:System.ArgumentNullException">getName == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.DiffieHellmanUtilities.DHSha.GetName">
      <summary>
            Gets the function that will return the value of the openid.session_type parameter for a given version of OpenID.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.DiffieHellmanUtilities.DHSha.Algorithm">
      <summary>
            Gets the hashing algorithm used in this particular Diffie-Hellman session type
            </summary>
    </member>
    <member name="T:Org.Mentalis.Security.Cryptography.DHKeyGeneration">
      <summary>
            Defines the different Diffie-Hellman key generation methods.
            </summary>
    </member>
    <member name="F:Org.Mentalis.Security.Cryptography.DHKeyGeneration.Random">
      <summary>
            Returns dynamically generated values for P and G. Unlike the Sophie Germain or DSA key generation methods,
            this method does not ensure that the selected prime offers an adequate security level.
            </summary>
    </member>
    <member name="F:Org.Mentalis.Security.Cryptography.DHKeyGeneration.Static">
      <summary>
            Returns values for P and G that are hard coded in this library. Contrary to what your intuition may tell you,
            using these hard coded values is perfectly safe.
            The values of the P and G parameters are taken from 'The OAKLEY Key Determination Protocol' [RFC2412].
            This is the prefered key generation method, because it is very fast and very safe.
            Because this method uses fixed values for the P and G parameters, not all bit sizes are supported.
            The current implementation supports bit sizes of 768, 1024 and 1536.
            </summary>
    </member>
    <member name="T:Org.Mentalis.Security.Cryptography.DHParameters">
      <summary>
            Represents the parameters of the Diffie-Hellman algorithm.
            </summary>
    </member>
    <member name="F:Org.Mentalis.Security.Cryptography.DHParameters.P">
      <summary>
            Represents the public <b>P</b> parameter of the Diffie-Hellman algorithm.
            </summary>
    </member>
    <member name="F:Org.Mentalis.Security.Cryptography.DHParameters.G">
      <summary>
            Represents the public <b>G</b> parameter of the Diffie-Hellman algorithm.
            </summary>
    </member>
    <member name="F:Org.Mentalis.Security.Cryptography.DHParameters.X">
      <summary>
            Represents the private <b>X</b> parameter of the Diffie-Hellman algorithm.
            </summary>
    </member>
    <member name="T:Org.Mentalis.Security.Cryptography.DiffieHellman">
      <summary>
            Defines a base class from which all Diffie-Hellman implementations inherit.
            </summary>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellman.Create">
      <summary>
            Creates an instance of the default implementation of the <see cref="T:Org.Mentalis.Security.Cryptography.DiffieHellman" /> algorithm.
            </summary>
      <returns>A new instance of the default implementation of DiffieHellman.</returns>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellman.Create(System.String)">
      <summary>
            Creates an instance of the specified implementation of <see cref="T:Org.Mentalis.Security.Cryptography.DiffieHellman" />.
            </summary>
      <param name="algName">The name of the implementation of DiffieHellman to use.</param>
      <returns>A new instance of the specified implementation of DiffieHellman.</returns>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellman.#ctor">
      <summary>
            Initializes a new <see cref="T:Org.Mentalis.Security.Cryptography.DiffieHellman" /> instance.
            </summary>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellman.CreateKeyExchange">
      <summary>
            When overridden in a derived class, creates the key exchange data. 
            </summary>
      <returns>The key exchange data to be sent to the intended recipient.</returns>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellman.DecryptKeyExchange(System.Byte[])">
      <summary>
            When overridden in a derived class, extracts secret information from the key exchange data.
            </summary>
      <param name="keyEx">The key exchange data within which the secret information is hidden.</param>
      <returns>The secret information derived from the key exchange data.</returns>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellman.ExportParameters(System.Boolean)">
      <summary>
            When overridden in a derived class, exports the <see cref="T:Org.Mentalis.Security.Cryptography.DHParameters" />.
            </summary>
      <param name="includePrivate">
        <b>true</b> to include private parameters; otherwise, <b>false</b>.</param>
      <returns>The parameters for Diffie-Hellman.</returns>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellman.ImportParameters(Org.Mentalis.Security.Cryptography.DHParameters)">
      <summary>
            When overridden in a derived class, imports the specified <see cref="T:Org.Mentalis.Security.Cryptography.DHParameters" />.
            </summary>
      <param name="parameters">The parameters for Diffie-Hellman.</param>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellman.FromXmlString(System.String)">
      <summary>
            Reconstructs a <see cref="T:Org.Mentalis.Security.Cryptography.DiffieHellman" /> object from an XML string.
            </summary>
      <param name="xmlString">The XML string to use to reconstruct the DiffieHellman object.</param>
      <exception cref="T:System.Security.Cryptography.CryptographicException">One of the values in the XML string is invalid.</exception>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellman.ToXmlString(System.Boolean)">
      <summary>
            Creates and returns an XML string representation of the current <see cref="T:Org.Mentalis.Security.Cryptography.DiffieHellman" /> object.
            </summary>
      <param name="includePrivateParameters">
        <b>true</b> to include private parameters; otherwise, <b>false</b>.</param>
      <returns>An XML string encoding of the current DiffieHellman object.</returns>
    </member>
    <member name="T:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged">
      <summary>
            Implements the Diffie-Hellman algorithm.
            </summary>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged.#ctor">
      <summary>
            Initializes a new <see cref="T:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged" /> instance.
            </summary>
      <remarks>The default length of the shared secret is 1024 bits.</remarks>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged.#ctor(System.Int32,System.Int32,Org.Mentalis.Security.Cryptography.DHKeyGeneration)">
      <summary>
            Initializes a new <see cref="T:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged" /> instance.
            </summary>
      <param name="bitlen">The length, in bits, of the public P parameter.</param>
      <param name="l">The length, in bits, of the secret value X. This parameter can be set to 0 to use the default size.</param>
      <param name="keygen">One of the <see cref="T:Org.Mentalis.Security.Cryptography.DHKeyGeneration" /> values.</param>
      <remarks>The larger the bit length, the more secure the algorithm is. The default is 1024 bits. The minimum bit length is 128 bits.<br />The size of the private value will be one fourth of the bit length specified.</remarks>
      <exception cref="T:System.ArgumentException">The specified bit length is invalid.</exception>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged.#ctor(System.Byte[],System.Byte[],System.Byte[])">
      <summary>
            Initializes a new <see cref="T:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged" /> instance.
            </summary>
      <param name="p">The P parameter of the Diffie-Hellman algorithm. This is a public parameter.</param>
      <param name="g">The G parameter of the Diffie-Hellman algorithm. This is a public parameter.</param>
      <param name="x">The X parameter of the Diffie-Hellman algorithm. This is a private parameter. If this parameters is a null reference (<b>Nothing</b> in Visual Basic), a secret value of the default size will be generated.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="p" /> or <paramref name="g" /> is a null reference (<b>Nothing</b> in Visual Basic).</exception>
      <exception cref="T:System.Security.Cryptography.CryptographicException">
        <paramref name="p" /> or <paramref name="g" /> is invalid.</exception>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged.#ctor(System.Byte[],System.Byte[],System.Int32)">
      <summary>
            Initializes a new <see cref="T:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged" /> instance.
            </summary>
      <param name="p">The P parameter of the Diffie-Hellman algorithm.</param>
      <param name="g">The G parameter of the Diffie-Hellman algorithm.</param>
      <param name="l">The length, in bits, of the private value. If 0 is specified, the default value will be used.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="p" /> or <paramref name="g" /> is a null reference (<b>Nothing</b> in Visual Basic).</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="l" /> is invalid.</exception>
      <exception cref="T:System.Security.Cryptography.CryptographicException">
        <paramref name="p" /> or <paramref name="g" /> is invalid.</exception>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged.CreateKeyExchange">
      <summary>
            Creates the key exchange data.
            </summary>
      <returns>The key exchange data to be sent to the intended recipient.</returns>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged.DecryptKeyExchange(System.Byte[])">
      <summary>
            Extracts secret information from the key exchange data.
            </summary>
      <param name="keyEx">The key exchange data within which the shared key is hidden.</param>
      <returns>The shared key derived from the key exchange data.</returns>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged.Dispose(System.Boolean)">
      <summary>
            Releases the unmanaged resources used by the SymmetricAlgorithm and optionally releases the managed resources.
            </summary>
      <param name="disposing">
        <b>true</b> to release both managed and unmanaged resources; <b>false</b> to release only unmanaged resources.</param>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged.ExportParameters(System.Boolean)">
      <summary>
            Exports the <see cref="T:Org.Mentalis.Security.Cryptography.DHParameters" />.
            </summary>
      <param name="includePrivateParameters">
        <b>true</b> to include private parameters; otherwise, <b>false</b>.</param>
      <returns>The parameters for <see cref="T:Org.Mentalis.Security.Cryptography.DiffieHellman" />.</returns>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged.ImportParameters(Org.Mentalis.Security.Cryptography.DHParameters)">
      <summary>
            Imports the specified <see cref="T:Org.Mentalis.Security.Cryptography.DHParameters" />.
            </summary>
      <param name="parameters">The parameters for <see cref="T:Org.Mentalis.Security.Cryptography.DiffieHellman" />.</param>
      <exception cref="T:System.Security.Cryptography.CryptographicException">
        <see cref="F:Org.Mentalis.Security.Cryptography.DHParameters.P">parameters.P</see> or <see cref="F:Org.Mentalis.Security.Cryptography.DHParameters.G">parameters.G</see> is a null reference (<b>Nothing</b> in Visual Basic) -or- <see cref="F:Org.Mentalis.Security.Cryptography.DHParameters.P">parameters.P</see> is not a prime number.</exception>
    </member>
    <member name="M:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged.Finalize">
      <summary>
            Releases the unmanaged resources used by the SymmetricAlgorithm.
            </summary>
    </member>
    <member name="P:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged.KeyExchangeAlgorithm">
      <summary>
            Gets the name of the key exchange algorithm.
            </summary>
      <value>The name of the key exchange algorithm.</value>
    </member>
    <member name="P:Org.Mentalis.Security.Cryptography.DiffieHellmanManaged.SignatureAlgorithm">
      <summary>
            Gets the name of the signature algorithm.
            </summary>
      <value>The name of the signature algorithm.</value>
    </member>
    <member name="F:Mono.Math.BigInteger.DEFAULT_LEN">
      <summary>
            Default length of a BigInteger in bytes
            </summary>
    </member>
    <member name="F:Mono.Math.BigInteger.length">
      <summary>
            The Length of this BigInteger
            </summary>
    </member>
    <member name="F:Mono.Math.BigInteger.data">
      <summary>
            The data for this BigInteger
            </summary>
    </member>
    <member name="F:Mono.Math.BigInteger.smallPrimes">
      <summary>
            	Table of primes below 2000.
            </summary>
      <remarks>
        <para>
            	This table was generated using Mathematica 4.1 using the following function:
            	</para>
        <para>
          <code>
            		PrimeTable [x_] := Prime [Range [1, PrimePi [x]]]
            		PrimeTable [6000]
            		</code>
        </para>
      </remarks>
    </member>
    <member name="M:Mono.Math.BigInteger.genRandom(System.Int32,System.Security.Cryptography.RandomNumberGenerator)">
      <summary>
            Generates a new, random BigInteger of the specified length.
            </summary>
      <param name="bits">The number of bits for the new number.</param>
      <param name="rng">A random number generator to use to obtain the bits.</param>
      <returns>A random number of the specified length.</returns>
    </member>
    <member name="M:Mono.Math.BigInteger.genRandom(System.Int32)">
      <summary>
            Generates a new, random BigInteger of the specified length using the default RNG crypto service provider.
            </summary>
      <param name="bits">The number of bits for the new number.</param>
      <returns>A random number of the specified length.</returns>
    </member>
    <member name="M:Mono.Math.BigInteger.randomize(System.Security.Cryptography.RandomNumberGenerator)">
      <summary>
            Randomizes the bits in "this" from the specified RNG.
            </summary>
      <param name="rng">A RNG.</param>
    </member>
    <member name="M:Mono.Math.BigInteger.randomize">
      <summary>
            Randomizes the bits in "this" from the default RNG.
            </summary>
    </member>
    <member name="M:Mono.Math.BigInteger.testBit(System.UInt32)">
      <summary>
            Tests if the specified bit is 1.
            </summary>
      <param name="bitNum">The bit to test. The least significant bit is 0.</param>
      <returns>True if bitNum is set to 1, else false.</returns>
    </member>
    <member name="M:Mono.Math.BigInteger.Normalize">
      <summary>
                Normalizes this by setting the length to the actual number of
                uints used in data and by setting the sign to Sign.Zero if the
                value of this is 0.
            </summary>
    </member>
    <member name="M:Mono.Math.BigInteger.NextHightestPrime(Mono.Math.BigInteger)">
      <summary>
            Generates the smallest prime &gt;= bi
            </summary>
      <param name="bi">A BigInteger</param>
      <returns>The smallest prime &gt;= bi. More mathematically, if bi is prime: bi, else Prime [PrimePi [bi] + 1].</returns>
    </member>
    <member name="M:Mono.Math.BigInteger.Incr2">
      <summary>
            Increments this by two
            </summary>
    </member>
    <member name="T:Mono.Math.BigInteger.Kernel">
      <summary>
            Low level functions for the BigInteger
            </summary>
    </member>
    <member name="M:Mono.Math.BigInteger.Kernel.AddSameSign(Mono.Math.BigInteger,Mono.Math.BigInteger)">
      <summary>
            Adds two numbers with the same sign.
            </summary>
      <param name="bi1">A BigInteger</param>
      <param name="bi2">A BigInteger</param>
      <returns>bi1 + bi2</returns>
    </member>
    <member name="M:Mono.Math.BigInteger.Kernel.Compare(Mono.Math.BigInteger,Mono.Math.BigInteger)">
      <summary>
            Compares two BigInteger
            </summary>
      <param name="bi1">A BigInteger</param>
      <param name="bi2">A BigInteger</param>
      <returns>The sign of bi1 - bi2</returns>
    </member>
    <member name="M:Mono.Math.BigInteger.Kernel.SingleByteDivideInPlace(Mono.Math.BigInteger,System.UInt32)">
      <summary>
            Performs n / d and n % d in one operation.
            </summary>
      <param name="n">A BigInteger, upon exit this will hold n / d</param>
      <param name="d">The divisor</param>
      <returns>n % d</returns>
    </member>
    <member name="M:Mono.Math.BigInteger.Kernel.Multiply(System.UInt32[],System.UInt32,System.UInt32,System.UInt32[],System.UInt32,System.UInt32,System.UInt32[],System.UInt32)">
      <summary>
            Multiplies the data in x [xOffset:xOffset+xLen] by
            y [yOffset:yOffset+yLen] and puts it into
            d [dOffset:dOffset+xLen+yLen].
            </summary>
    </member>
    <member name="M:Mono.Math.BigInteger.Kernel.MultiplyMod2p32pmod(System.UInt32[],System.Int32,System.Int32,System.UInt32[],System.Int32,System.Int32,System.UInt32[],System.Int32,System.Int32)">
      <summary>
            Multiplies the data in x [xOffset:xOffset+xLen] by
            y [yOffset:yOffset+yLen] and puts the low mod words into
            d [dOffset:dOffset+mod].
            </summary>
    </member>
    <member name="T:Mono.Math.Prime.ConfidenceFactor">
      <summary>
            A factor of confidence.
            </summary>
    </member>
    <member name="F:Mono.Math.Prime.ConfidenceFactor.ExtraLow">
      <summary>
            Only suitable for development use, probability of failure may be greater than 1/2^20.
            </summary>
    </member>
    <member name="F:Mono.Math.Prime.ConfidenceFactor.Low">
      <summary>
            Suitable only for transactions which do not require forward secrecy.  Probability of failure about 1/2^40
            </summary>
    </member>
    <member name="F:Mono.Math.Prime.ConfidenceFactor.Medium">
      <summary>
            Designed for production use. Probability of failure about 1/2^80.
            </summary>
    </member>
    <member name="F:Mono.Math.Prime.ConfidenceFactor.High">
      <summary>
            Suitable for sensitive data. Probability of failure about 1/2^160.
            </summary>
    </member>
    <member name="F:Mono.Math.Prime.ConfidenceFactor.ExtraHigh">
      <summary>
            Use only if you have lots of time! Probability of failure about 1/2^320.
            </summary>
    </member>
    <member name="F:Mono.Math.Prime.ConfidenceFactor.Provable">
      <summary>
            Only use methods which generate provable primes. Not yet implemented.
            </summary>
    </member>
    <member name="T:Mono.Math.Prime.Generator.NextPrimeFinder">
      <summary>
            Finds the next prime after a given number.
            </summary>
    </member>
    <member name="M:Mono.Math.Prime.Generator.PrimeGeneratorBase.PostTrialDivisionTests(Mono.Math.BigInteger)">
      <summary>
            Performs primality tests on bi, assumes trial division has been done.
            </summary>
      <param name="bi">A BigInteger that has been subjected to and passed trial division</param>
      <returns>False if bi is composite, true if it may be prime.</returns>
      <remarks>The speed of this method is dependent on Confidence</remarks>
    </member>
    <member name="M:Mono.Math.Prime.PrimalityTests.RabinMillerTest(Mono.Math.BigInteger,Mono.Math.Prime.ConfidenceFactor)">
      <summary>
                Probabilistic prime test based on Rabin-Miller's test
            </summary>
      <param name="bi" type="BigInteger.BigInteger">
        <para>
                    The number to test.
                </para>
      </param>
      <param name="confidence" type="int">
        <para>
            The number of chosen bases. The test has at least a
            1/4^confidence chance of falsely returning True.
                </para>
      </param>
      <returns>
        <para>
            	True if "this" is a strong pseudoprime to randomly chosen bases.
            </para>
        <para>
            	False if "this" is definitely NOT prime.
            </para>
      </returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.HmacShaAssociation">
      <summary>
            An association that uses the HMAC-SHA family of algorithms for message signing.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.HmacShaAssociation.DefaultMaximumLifetime">
      <summary>
            The default lifetime of a shared association when no lifetime is given
            for a specific association type.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.HmacShaAssociation.hmacShaAssociationTypes">
      <summary>
            A list of HMAC-SHA algorithms in order of decreasing bit lengths.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.HmacShaAssociation.typeIdentity">
      <summary>
            The specific variety of HMAC-SHA this association is based on (whether it be HMAC-SHA1, HMAC-SHA256, etc.)
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HmacShaAssociation.#ctor(DotNetOpenAuth.OpenId.HmacShaAssociation.HmacSha,System.String,System.Byte[],System.TimeSpan)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.HmacShaAssociation" /> class.
            </summary>
      <param name="typeIdentity">The specific variety of HMAC-SHA this association is based on (whether it be HMAC-SHA1, HMAC-SHA256, etc.)</param>
      <param name="handle">The association handle.</param>
      <param name="secret">The association secret.</param>
      <param name="totalLifeLength">The time duration the association will be good for.</param>
      <requires exception="T:System.ArgumentNullException">typeIdentity != null</requires>
      <exception cref="T:System.ArgumentNullException">typeIdentity == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(handle)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(handle)</exception>
      <requires exception="T:System.ArgumentNullException">secret != null</requires>
      <exception cref="T:System.ArgumentNullException">secret == null</exception>
      <requires exception="T:System.ArgumentOutOfRangeException">totalLifeLength &gt; TimeSpan.Zero</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">totalLifeLength &lt;= TimeSpan.Zero</exception>
      <ensures>this.TotalLifeLength == totalLifeLength</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HmacShaAssociation.Create(DotNetOpenAuth.OpenId.Protocol,System.String,System.String,System.Byte[],System.TimeSpan)">
      <summary>
            Creates an HMAC-SHA association.
            </summary>
      <param name="protocol">The OpenID protocol version that the request for an association came in on.</param>
      <param name="associationType">The value of the openid.assoc_type parameter.</param>
      <param name="handle">The association handle.</param>
      <param name="secret">The association secret.</param>
      <param name="totalLifeLength">How long the association will be good for.</param>
      <returns>The newly created association.</returns>
      <requires exception="T:System.ArgumentNullException">protocol != null</requires>
      <exception cref="T:System.ArgumentNullException">protocol == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(associationType)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(associationType)</exception>
      <requires exception="T:System.ArgumentNullException">secret != null</requires>
      <exception cref="T:System.ArgumentNullException">secret == null</exception>
      <ensures>Contract.Result&lt;HmacShaAssociation&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HmacShaAssociation.Create(System.String,System.Byte[],System.TimeSpan)">
      <summary>
            Creates an association with the specified handle, secret, and lifetime.
            </summary>
      <param name="handle">The handle.</param>
      <param name="secret">The secret.</param>
      <param name="totalLifeLength">Total lifetime.</param>
      <returns>The newly created association.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(handle)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(handle)</exception>
      <requires exception="T:System.ArgumentNullException">secret != null</requires>
      <exception cref="T:System.ArgumentNullException">secret == null</exception>
      <ensures>Contract.Result&lt;HmacShaAssociation&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HmacShaAssociation.GetSecretLength(DotNetOpenAuth.OpenId.Protocol,System.String)">
      <summary>
            Returns the length of the shared secret (in bytes).
            </summary>
      <param name="protocol">The protocol version being used that will be used to lookup the text in <paramref name="associationType" /></param>
      <param name="associationType">The value of the protocol argument specifying the type of association.  For example: "HMAC-SHA1".</param>
      <returns>The length (in bytes) of the association secret.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if no association can be found by the given name.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HmacShaAssociation.Create(DotNetOpenAuth.OpenId.Protocol,System.String,DotNetOpenAuth.OpenId.AssociationRelyingPartyType,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Creates a new association of a given type.
            </summary>
      <param name="protocol">The protocol.</param>
      <param name="associationType">Type of the association (i.e. HMAC-SHA1 or HMAC-SHA256)</param>
      <param name="associationUse">A value indicating whether the new association will be used privately by the Provider for "dumb mode" authentication
            or shared with the Relying Party for "smart mode" authentication.</param>
      <param name="securitySettings">The security settings of the Provider.</param>
      <returns>The newly created association.</returns>
      <remarks>
            The new association is NOT automatically put into an association store.  This must be done by the caller.
            </remarks>
      <requires exception="T:System.ArgumentNullException">protocol != null</requires>
      <exception cref="T:System.ArgumentNullException">protocol == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(associationType)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(associationType)</exception>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
      <ensures>Contract.Result&lt;HmacShaAssociation&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HmacShaAssociation.TryFindBestAssociation(DotNetOpenAuth.OpenId.Protocol,System.Boolean,DotNetOpenAuth.OpenId.SecuritySettings,System.Boolean,System.String@,System.String@)">
      <summary>
            Looks for the first association type in a preferred-order list that is
            likely to be supported given a specific OpenID version and the security settings,
            and perhaps a matching Diffie-Hellman session type.
            </summary>
      <param name="protocol">The OpenID version that dictates which associations are available.</param>
      <param name="highSecurityIsBetter">A value indicating whether to consider higher strength security to be better.  Use <c>true</c> for initial association requests from the Relying Party; use <c>false</c> from Providers when the Relying Party asks for an unrecognized association in order to pick a suggested alternative that is likely to be supported on both sides.</param>
      <param name="securityRequirements">The set of requirements the selected association type must comply to.</param>
      <param name="requireMatchingDHSessionType">Use <c>true</c> for HTTP associations, <c>false</c> for HTTPS associations.</param>
      <param name="associationType">The resulting association type's well known protocol name.  (i.e. HMAC-SHA256)</param>
      <param name="sessionType">The resulting session type's well known protocol name, if a matching one is available.  (i.e. DH-SHA256)</param>
      <returns>
            True if a qualifying association could be found; false otherwise.
            </returns>
      <requires exception="T:System.ArgumentNullException">protocol != null</requires>
      <exception cref="T:System.ArgumentNullException">protocol == null</exception>
      <requires exception="T:System.ArgumentNullException">securityRequirements != null</requires>
      <exception cref="T:System.ArgumentNullException">securityRequirements == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HmacShaAssociation.IsDHSessionCompatible(DotNetOpenAuth.OpenId.Protocol,System.String,System.String)">
      <summary>
            Determines whether a named Diffie-Hellman session type and association type can be used together.
            </summary>
      <param name="protocol">The protocol carrying the names of the session and association types.</param>
      <param name="associationType">The value of the openid.assoc_type parameter.</param>
      <param name="sessionType">The value of the openid.session_type parameter.</param>
      <returns>
        <c>true</c> if the named association and session types are compatible; otherwise, <c>false</c>.
            </returns>
      <requires exception="T:System.ArgumentNullException">protocol != null</requires>
      <exception cref="T:System.ArgumentNullException">protocol == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(associationType)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(associationType)</exception>
      <requires exception="T:System.ArgumentNullException">sessionType != null</requires>
      <exception cref="T:System.ArgumentNullException">sessionType == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HmacShaAssociation.GetAssociationType(DotNetOpenAuth.OpenId.Protocol)">
      <summary>
            Gets the string to pass as the assoc_type value in the OpenID protocol.
            </summary>
      <param name="protocol">The protocol version of the message that the assoc_type value will be included in.</param>
      <returns>
            The value that should be used for  the openid.assoc_type parameter.
            </returns>
      <pure />
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Association.GetAssociationType(DotNetOpenAuth.OpenId.Protocol)" inheritedFromTypeName="Association" exception="T:System.ArgumentNullException">protocol != null</requires>
      <exception cref="T:System.ArgumentNullException">protocol == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.HmacShaAssociation.CreateHasher">
      <summary>
            Returns the specific hash algorithm used for message signing.
            </summary>
      <returns>
            The hash algorithm used for message signing.
            </returns>
      <pure />
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Association.CreateHasher" inheritedFromTypeName="Association">Contract.Result&lt;HashAlgorithm&gt;() != null</ensures>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.HmacShaAssociation.HashBitLength">
      <summary>
            Gets the length (in bits) of the hash this association creates when signing.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Association.get_HashBitLength" inheritedFromTypeName="Association">Contract.Result&lt;int&gt;() &gt; 0</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.HmacShaAssociation.HmacSha">
      <summary>
            Provides information about some HMAC-SHA hashing algorithm that OpenID supports.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.HmacShaAssociation.HmacSha.GetAssociationType">
      <summary>
            Gets or sets the function that takes a particular OpenID version and returns the value of the openid.assoc_type parameter in that protocol.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.HmacShaAssociation.HmacSha.CreateHasher">
      <summary>
            Gets or sets a function that will create the <see cref="T:System.Security.Cryptography.HashAlgorithm" /> using a given shared secret for the mac.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.HmacShaAssociation.HmacSha.BaseHashAlgorithm">
      <summary>
            Gets or sets the base hash algorithm.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.HmacShaAssociation.HmacSha.SecretLength">
      <summary>
            Gets the size of the hash (in bytes).
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.AssociationRelyingPartyType">
      <summary>
            An enumeration that can specify how a given <see cref="T:DotNetOpenAuth.OpenId.Association" /> is used.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.AssociationRelyingPartyType.Smart">
      <summary>
            The <see cref="T:DotNetOpenAuth.OpenId.Association" /> manages a shared secret between
            Provider and Relying Party sites that allows the RP to verify
            the signature on a message from an OP.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.AssociationRelyingPartyType.Dumb">
      <summary>
            The <see cref="T:DotNetOpenAuth.OpenId.Association" /> manages a secret known alone by
            a Provider that allows the Provider to verify its own signatures
            for "dumb" (stateless) relying parties.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.AssociateUnencryptedRequest">
      <summary>
            Represents an association request that is sent using HTTPS and otherwise communicates the shared secret in plain text.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.AssociateRequest">
      <summary>
            An OpenID direct request from Relying Party to Provider to initiate an association.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateRequest.#ctor(System.Version,System.Uri)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateRequest" /> class.
            </summary>
      <param name="version">The OpenID version this message must comply with.</param>
      <param name="providerEndpoint">The OpenID Provider endpoint.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateRequest.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateRequest.Create(DotNetOpenAuth.OpenId.SecuritySettings,DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint)">
      <summary>
            Creates an association request message that is appropriate for a given Provider.
            </summary>
      <param name="securityRequirements">The set of requirements the selected association type must comply to.</param>
      <param name="provider">The provider to create an association with.</param>
      <returns>
            The message to send to the Provider to request an association.
            Null if no association could be created that meet the security requirements
            and the provider OpenID version.
            </returns>
      <requires exception="T:System.ArgumentNullException">securityRequirements != null</requires>
      <exception cref="T:System.ArgumentNullException">securityRequirements == null</exception>
      <requires exception="T:System.ArgumentNullException">provider != null</requires>
      <exception cref="T:System.ArgumentNullException">provider == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateRequest.Create(DotNetOpenAuth.OpenId.SecuritySettings,DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint,System.String,System.String)">
      <summary>
            Creates an association request message that is appropriate for a given Provider.
            </summary>
      <param name="securityRequirements">The set of requirements the selected association type must comply to.</param>
      <param name="provider">The provider to create an association with.</param>
      <param name="associationType">Type of the association.</param>
      <param name="sessionType">Type of the session.</param>
      <returns>
            The message to send to the Provider to request an association.
            Null if no association could be created that meet the security requirements
            and the provider OpenID version.
            </returns>
      <requires exception="T:System.ArgumentNullException">securityRequirements != null</requires>
      <exception cref="T:System.ArgumentNullException">securityRequirements == null</exception>
      <requires exception="T:System.ArgumentNullException">provider != null</requires>
      <exception cref="T:System.ArgumentNullException">provider == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(associationType)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(associationType)</exception>
      <requires exception="T:System.ArgumentNullException">sessionType != null</requires>
      <exception cref="T:System.ArgumentNullException">sessionType == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateRequest.CreateResponse(DotNetOpenAuth.OpenId.IAssociationStore{DotNetOpenAuth.OpenId.AssociationRelyingPartyType},DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Creates a Provider's response to an incoming association request.
            </summary>
      <param name="associationStore">The association store where a new association (if created) will be stored.  Must not be null.</param>
      <param name="securitySettings">The security settings on the Provider.</param>
      <returns>
            The appropriate association response that is ready to be sent back to the Relying Party.
            </returns>
      <remarks>
        <para>If an association is created, it will be automatically be added to the provided
            association store.</para>
        <para>Successful association response messages will derive from <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse" />.
            Failed association response messages will derive from <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateUnsuccessfulResponse" />.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">associationStore != null</requires>
      <exception cref="T:System.ArgumentNullException">associationStore == null</exception>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateRequest.CreateResponseCore">
      <summary>
            Creates a Provider's response to an incoming association request.
            </summary>
      <returns>
            The appropriate association response message.
            </returns>
      <remarks>
        <para>If an association can be successfully created, the 
            <see cref="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.CreateAssociation(DotNetOpenAuth.OpenId.Messages.AssociateRequest,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)" /> method must not be
            called by this method.</para>
        <para>Successful association response messages will derive from <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse" />.
            Failed association response messages will derive from <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateUnsuccessfulResponse" />.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateRequest.CreateUnsuccessfulResponse(DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Creates a response that notifies the Relying Party that the requested
            association type is not supported by this Provider, and offers
            an alternative association type, if possible.
            </summary>
      <param name="securitySettings">The security settings that apply to this Provider.</param>
      <returns>The response to send to the Relying Party.</returns>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateRequest.AssociationType">
      <summary>
            Gets or sets the preferred association type. The association type defines the algorithm to be used to sign subsequent messages. 
            </summary>
      <value>Value: A valid association type from Section 8.3.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateRequest.SessionType">
      <summary>
            Gets or sets the preferred association session type. This defines the method used to encrypt the association's MAC key in transit. 
            </summary>
      <value>Value: A valid association session type from Section 8.4 (Association Session Types). </value>
      <remarks>Note: Unless using transport layer encryption, "no-encryption" MUST NOT be used. </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateUnencryptedRequest.#ctor(System.Version,System.Uri)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateUnencryptedRequest" /> class.
            </summary>
      <param name="version">The OpenID version this message must comply with.</param>
      <param name="providerEndpoint">The OpenID Provider endpoint.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateUnencryptedRequest.EnsureValidMessage">
      <summary>
            Checks the message state for conformity to the protocol specification
            and throws an exception if the message is invalid.
            </summary>
      <remarks>
        <para>Some messages have required fields, or combinations of fields that must relate to each other
            in specialized ways.  After deserializing a message, this method checks the state of the
            message to see if it conforms to the protocol.</para>
        <para>Note that this property should <i>not</i> check signatures or perform any state checks
            outside this scope of this particular message.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the message is invalid.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateUnencryptedRequest.CreateResponseCore">
      <summary>
            Creates a Provider's response to an incoming association request.
            </summary>
      <returns>
            The appropriate association response message.
            </returns>
      <remarks>
        <para>If an association can be successfully created, the
            <see cref="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.CreateAssociation(DotNetOpenAuth.OpenId.Messages.AssociateRequest,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)" /> method must not be
            called by this method.</para>
        <para>Successful association response messages will derive from <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse" />.
            Failed association response messages will derive from <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateUnsuccessfulResponse" />.</para>
      </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider">
      <summary>
            Offers services for a web page that is acting as an OpenID identity server.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.ApplicationStoreKey">
      <summary>
            The name of the key to use in the HttpApplication cache to store the
            instance of <see cref="T:DotNetOpenAuth.OpenId.Provider.StandardProviderApplicationStore" /> to use.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.behaviors">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.Behaviors" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.securitySettings">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.SecuritySettings" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.relyingParty">
      <summary>
            The relying party used to perform discovery on identifiers being sent in
            unsolicited positive assertions.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider" /> class.
            </summary>
      <ensures>this.AssociationStore != null</ensures>
      <ensures>this.SecuritySettings != null</ensures>
      <ensures>this.Channel != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.#ctor(DotNetOpenAuth.OpenId.Provider.IProviderApplicationStore)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider" /> class.
            </summary>
      <param name="applicationStore">The application store to use.  Cannot be null.</param>
      <requires exception="T:System.ArgumentNullException">applicationStore != null</requires>
      <exception cref="T:System.ArgumentNullException">applicationStore == null</exception>
      <ensures>this.AssociationStore == applicationStore</ensures>
      <ensures>this.SecuritySettings != null</ensures>
      <ensures>this.Channel != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.#ctor(DotNetOpenAuth.OpenId.IAssociationStore{DotNetOpenAuth.OpenId.AssociationRelyingPartyType},DotNetOpenAuth.Messaging.Bindings.INonceStore)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider" /> class.
            </summary>
      <param name="associationStore">The association store to use.  Cannot be null.</param>
      <param name="nonceStore">The nonce store to use.  Cannot be null.</param>
      <requires exception="T:System.ArgumentNullException">associationStore != null</requires>
      <exception cref="T:System.ArgumentNullException">associationStore == null</exception>
      <requires exception="T:System.ArgumentNullException">nonceStore != null</requires>
      <exception cref="T:System.ArgumentNullException">nonceStore == null</exception>
      <ensures>this.AssociationStore == associationStore</ensures>
      <ensures>this.SecuritySettings != null</ensures>
      <ensures>this.Channel != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.GetRequest">
      <summary>
            Gets the incoming OpenID request if there is one, or null if none was detected.
            </summary>
      <returns>The request that the hosting Provider should possibly process and then transmit the response for.</returns>
      <remarks>
        <para>Requests may be infrastructural to OpenID and allow auto-responses, or they may
            be authentication requests where the Provider site has to make decisions based
            on its own user database and policies.</para>
        <para>Requires an <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> context.</para>
      </remarks>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> == <c>null</c>.</exception>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the incoming message is recognized but deviates from the protocol specification irrecoverably.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.GetRequest(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Gets the incoming OpenID request if there is one, or null if none was detected.
            </summary>
      <param name="httpRequestInfo">The incoming HTTP request to extract the message from.</param>
      <returns>
            The request that the hosting Provider should process and then transmit the response for.
            Null if no valid OpenID request was detected in the given HTTP request.
            </returns>
      <remarks>
            Requests may be infrastructural to OpenID and allow auto-responses, or they may
            be authentication requests where the Provider site has to make decisions based
            on its own user database and policies.
            </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if the incoming message is recognized
            but deviates from the protocol specification irrecoverably.</exception>
      <requires exception="T:System.ArgumentNullException">httpRequestInfo != null</requires>
      <exception cref="T:System.ArgumentNullException">httpRequestInfo == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.SendResponse(DotNetOpenAuth.OpenId.Provider.IRequest)">
      <summary>
            Sends the response to a received request.
            </summary>
      <param name="request">The incoming OpenID request whose response is to be sent.</param>
      <exception cref="T:System.Threading.ThreadAbortException">Thrown by ASP.NET in order to prevent additional data from the page being sent to the client and corrupting the response.</exception>
      <remarks>
        <para>Requires an HttpContext.Current context.  If one is not available, the caller should use
            <see cref="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.PrepareResponse(DotNetOpenAuth.OpenId.Provider.IRequest)" /> instead and manually send the <see cref="T:DotNetOpenAuth.Messaging.OutgoingWebResponse" /> 
            to the client.</para>
      </remarks>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:DotNetOpenAuth.OpenId.Provider.IRequest.IsResponseReady" /> is <c>false</c>.</exception>
      <requires exception="T:System.InvalidOperationException">HttpContext.Current != null</requires>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null</exception>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentException">request.IsResponseReady</requires>
      <exception cref="T:System.ArgumentException">!(request.IsResponseReady)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.PrepareResponse(DotNetOpenAuth.OpenId.Provider.IRequest)">
      <summary>
            Gets the response to a received request.
            </summary>
      <param name="request">The request.</param>
      <returns>The response that should be sent to the client.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:DotNetOpenAuth.OpenId.Provider.IRequest.IsResponseReady" /> is <c>false</c>.</exception>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentException">request.IsResponseReady</requires>
      <exception cref="T:System.ArgumentException">!(request.IsResponseReady)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.SendUnsolicitedAssertion(System.Uri,DotNetOpenAuth.OpenId.Realm,DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IExtensionMessage[])">
      <summary>
            Sends an identity assertion on behalf of one of this Provider's
            members in order to redirect the user agent to a relying party
            web site and log him/her in immediately in one uninterrupted step.
            </summary>
      <param name="providerEndpoint">The absolute URL on the Provider site that receives OpenID messages.</param>
      <param name="relyingPartyRealm">The URL of the Relying Party web site.
            This will typically be the home page, but may be a longer URL if
            that Relying Party considers the scope of its realm to be more specific.
            The URL provided here must allow discovery of the Relying Party's
            XRDS document that advertises its OpenID RP endpoint.</param>
      <param name="claimedIdentifier">The Identifier you are asserting your member controls.</param>
      <param name="localIdentifier">The Identifier you know your user by internally.  This will typically
            be the same as <paramref name="claimedIdentifier" />.</param>
      <param name="extensions">The extensions.</param>
      <requires exception="T:System.InvalidOperationException">HttpContext.Current != null</requires>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null</exception>
      <requires exception="T:System.ArgumentNullException">providerEndpoint != null</requires>
      <exception cref="T:System.ArgumentNullException">providerEndpoint == null</exception>
      <requires exception="T:System.ArgumentException">providerEndpoint.IsAbsoluteUri</requires>
      <exception cref="T:System.ArgumentException">!(providerEndpoint.IsAbsoluteUri)</exception>
      <requires exception="T:System.ArgumentNullException">relyingPartyRealm != null</requires>
      <exception cref="T:System.ArgumentNullException">relyingPartyRealm == null</exception>
      <requires exception="T:System.ArgumentNullException">claimedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">claimedIdentifier == null</exception>
      <requires exception="T:System.ArgumentNullException">localIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">localIdentifier == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.PrepareUnsolicitedAssertion(System.Uri,DotNetOpenAuth.OpenId.Realm,DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IExtensionMessage[])">
      <summary>
            Prepares an identity assertion on behalf of one of this Provider's
            members in order to redirect the user agent to a relying party
            web site and log him/her in immediately in one uninterrupted step.
            </summary>
      <param name="providerEndpoint">The absolute URL on the Provider site that receives OpenID messages.</param>
      <param name="relyingPartyRealm">The URL of the Relying Party web site.
            This will typically be the home page, but may be a longer URL if
            that Relying Party considers the scope of its realm to be more specific.
            The URL provided here must allow discovery of the Relying Party's
            XRDS document that advertises its OpenID RP endpoint.</param>
      <param name="claimedIdentifier">The Identifier you are asserting your member controls.</param>
      <param name="localIdentifier">The Identifier you know your user by internally.  This will typically
            be the same as <paramref name="claimedIdentifier" />.</param>
      <param name="extensions">The extensions.</param>
      <returns>
            A <see cref="T:DotNetOpenAuth.Messaging.OutgoingWebResponse" /> object describing the HTTP response to send
            the user agent to allow the redirect with assertion to happen.
            </returns>
      <requires exception="T:System.ArgumentNullException">providerEndpoint != null</requires>
      <exception cref="T:System.ArgumentNullException">providerEndpoint == null</exception>
      <requires exception="T:System.ArgumentException">providerEndpoint.IsAbsoluteUri</requires>
      <exception cref="T:System.ArgumentException">!(providerEndpoint.IsAbsoluteUri)</exception>
      <requires exception="T:System.ArgumentNullException">relyingPartyRealm != null</requires>
      <exception cref="T:System.ArgumentNullException">relyingPartyRealm == null</exception>
      <requires exception="T:System.ArgumentNullException">claimedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">claimedIdentifier == null</exception>
      <requires exception="T:System.ArgumentNullException">localIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">localIdentifier == null</exception>
      <requires exception="T:System.InvalidOperationException">this.Channel.WebRequestHandler != null</requires>
      <exception cref="T:System.InvalidOperationException">this.Channel.WebRequestHandler == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.ApplyBehaviorsToResponse(DotNetOpenAuth.OpenId.Provider.IRequest)">
      <summary>
            Applies all behaviors to the response message.
            </summary>
      <param name="request">The request.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.GetErrorResponse(DotNetOpenAuth.Messaging.ProtocolException,DotNetOpenAuth.Messaging.HttpRequestInfo,DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Prepares the return value for the GetRequest method in the event of an exception.
            </summary>
      <param name="ex">The exception that forms the basis of the error response.  Must not be null.</param>
      <param name="httpRequestInfo">The incoming HTTP request.  Must not be null.</param>
      <param name="incomingMessage">The incoming message.  May be null in the case that it was malformed.</param>
      <returns>
            Either the <see cref="T:DotNetOpenAuth.OpenId.Provider.IRequest" /> to return to the host site or null to indicate no response could be reasonably created and that the caller should rethrow the exception.
            </returns>
      <requires exception="T:System.ArgumentNullException">ex != null</requires>
      <exception cref="T:System.ArgumentNullException">ex == null</exception>
      <requires exception="T:System.ArgumentNullException">httpRequestInfo != null</requires>
      <exception cref="T:System.ArgumentNullException">httpRequestInfo == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.OnBehaviorsChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
      <summary>
            Called by derived classes when behaviors are added or removed.
            </summary>
      <param name="sender">The collection being modified.</param>
      <param name="e">The <see cref="T:System.Collections.Specialized.NotifyCollectionChangedEventArgs" /> instance containing the event data.</param>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.HttpApplicationStore">
      <summary>
            Gets the standard state storage mechanism that uses ASP.NET's
            HttpApplication state dictionary to store associations and nonces.
            </summary>
      <getter>
        <requires exception="T:System.InvalidOperationException">HttpContext.Current != null &amp;&amp; HttpContext.Current.Request != null</requires>
        <ensures>Contract.Result&lt;IProviderApplicationStore&gt;() != null</ensures>
      </getter>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null || HttpContext.Current.Request == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.Channel">
      <summary>
            Gets the channel to use for sending/receiving messages.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.SecuritySettings">
      <summary>
            Gets the security settings used by this Provider.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;ProviderSecuritySettings&gt;() != null</ensures>
      </getter>
      <setter>
        <requires exception="T:System.ArgumentNullException">value != null</requires>
      </setter>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.ExtensionFactories">
      <summary>
            Gets the extension factories.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.ErrorReporting">
      <summary>
            Gets or sets the mechanism a host site can use to receive
            notifications of errors when communicating with remote parties.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.Behaviors">
      <summary>
            Gets a list of custom behaviors to apply to OpenID actions.
            </summary>
      <remarks>
            Adding behaviors can impact the security settings of the <see cref="T:DotNetOpenAuth.OpenId.Provider.OpenIdProvider" />
            in ways that subsequently removing the behaviors will not reverse.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.DiscoveryServices">
      <summary>
            Gets the list of services that can perform discovery on identifiers given to this relying party.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.AssociationStore">
      <summary>
            Gets the association store.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.WebRequestHandler">
      <summary>
            Gets the web request handler to use for discovery and the part of
            authentication where direct messages are sent to an untrusted remote party.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.OpenIdProvider.RelyingParty">
      <summary>
            Gets the relying party used for discovery of identifiers sent in unsolicited assertions.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest">
      <summary>
            An OpenID direct request from Relying Party to Provider to initiate an association that uses Diffie-Hellman encryption.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest.DefaultX">
      <summary>
            The (only) value we use for the X variable in the Diffie-Hellman algorithm.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest.DefaultGen">
      <summary>
            The default gen value for the Diffie-Hellman algorithm.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest.DefaultMod">
      <summary>
            The default modulus value for the Diffie-Hellman algorithm.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest.#ctor(System.Version,System.Uri)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest" /> class.
            </summary>
      <param name="version">The OpenID version this message must comply with.</param>
      <param name="providerEndpoint">The OpenID Provider endpoint.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest.InitializeRequest">
      <summary>
            Called by the Relying Party to initialize the Diffie-Hellman algorithm and consumer public key properties.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest.CreateResponseCore">
      <summary>
            Creates a Provider's response to an incoming association request.
            </summary>
      <returns>
            The appropriate association response message.
            </returns>
      <remarks>
        <para>If an association can be successfully created, the
            <see cref="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.CreateAssociation(DotNetOpenAuth.OpenId.Messages.AssociateRequest,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)" /> method must not be
            called by this method.</para>
        <para>Successful association response messages will derive from <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse" />.
            Failed association response messages will derive from <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateUnsuccessfulResponse" />.</para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest.DiffieHellmanModulus">
      <summary>
            Gets or sets the openid.dh_modulus value.
            </summary>
      <value>May be null if the default value given in the OpenID spec is to be used.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest.DiffieHellmanGen">
      <summary>
            Gets or sets the openid.dh_gen value.
            </summary>
      <value>May be null if the default value given in the OpenID spec is to be used.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest.DiffieHellmanConsumerPublic">
      <summary>
            Gets or sets the openid.dh_consumer_public value.
            </summary>
      <remarks>
            This property is initialized with a call to <see cref="M:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest.InitializeRequest" />.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest.Algorithm">
      <summary>
            Gets the Diffie-Hellman algorithm.
            </summary>
      <remarks>
            This property is initialized with a call to <see cref="M:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest.InitializeRequest" />.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanResponse">
      <summary>
            The successful Diffie-Hellman association response message.
            </summary>
      <remarks>
            Association response messages are described in OpenID 2.0 section 8.2.  This type covers section 8.2.3.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanResponse.#ctor(System.Version,DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanResponse" /> class.
            </summary>
      <param name="responseVersion">The OpenID version of the response message.</param>
      <param name="originatingRequest">The originating request.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanResponse.CreateAssociationAtRelyingParty(DotNetOpenAuth.OpenId.Messages.AssociateRequest)">
      <summary>
            Creates the association at relying party side after the association response has been received.
            </summary>
      <param name="request">The original association request that was already sent and responded to.</param>
      <returns>The newly created association.</returns>
      <remarks>
            The resulting association is <i>not</i> added to the association store and must be done by the caller.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.CreateAssociationAtRelyingParty(DotNetOpenAuth.OpenId.Messages.AssociateRequest)" inheritedFromTypeName="AssociateSuccessfulResponse" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanResponse.CreateAssociationAtProvider(DotNetOpenAuth.OpenId.Messages.AssociateRequest,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Creates the association at the provider side after the association request has been received.
            </summary>
      <param name="request">The association request.</param>
      <param name="securitySettings">The security settings of the Provider.</param>
      <returns>The newly created association.</returns>
      <remarks>
            The response message is updated to include the details of the created association by this method,
            but the resulting association is <i>not</i> added to the association store and must be done by the caller.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.CreateAssociationAtProvider(DotNetOpenAuth.OpenId.Messages.AssociateRequest,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)" inheritedFromTypeName="AssociateSuccessfulResponse" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.CreateAssociationAtProvider(DotNetOpenAuth.OpenId.Messages.AssociateRequest,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)" inheritedFromTypeName="AssociateSuccessfulResponse" exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanResponse.DiffieHellmanServerPublic">
      <summary>
            Gets or sets the Provider's Diffie-Hellman public key. 
            </summary>
      <value>btwoc(g ^ xb mod p)</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateDiffieHellmanResponse.EncodedMacKey">
      <summary>
            Gets or sets the MAC key (shared secret), encrypted with the secret Diffie-Hellman value.
            </summary>
      <value>H(btwoc(g ^ (xa * xb) mod p)) XOR MAC key. H is either "SHA1" or "SHA256" depending on the session type. </value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.AssociateUnencryptedResponse">
      <summary>
            The successful unencrypted association response message.
            </summary>
      <remarks>
            Association response messages are described in OpenID 2.0 section 8.2.  This type covers section 8.2.2.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateUnencryptedResponse.#ctor(System.Version,DotNetOpenAuth.OpenId.Messages.AssociateUnencryptedRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateUnencryptedResponse" /> class.
            </summary>
      <param name="responseVersion">The OpenID version of the response message.</param>
      <param name="originatingRequest">The originating request.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateUnencryptedResponse.CreateAssociationAtProvider(DotNetOpenAuth.OpenId.Messages.AssociateRequest,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Called to create the Association based on a request previously given by the Relying Party.
            </summary>
      <param name="request">The prior request for an association.</param>
      <param name="securitySettings">The security settings of the Provider.</param>
      <returns>The created association.</returns>
      <remarks>
        <para>The caller will update this message's
            <see cref="P:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.ExpiresIn" /> and
            <see cref="P:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.AssociationHandle" />
            properties based on the <see cref="T:DotNetOpenAuth.OpenId.Association" /> returned by this method, but any other
            association type specific properties must be set by this method.</para>
        <para>The response message is updated to include the details of the created association by this method,
            but the resulting association is <i>not</i> added to the association store and must be done by the caller.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.CreateAssociationAtProvider(DotNetOpenAuth.OpenId.Messages.AssociateRequest,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)" inheritedFromTypeName="AssociateSuccessfulResponse" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.CreateAssociationAtProvider(DotNetOpenAuth.OpenId.Messages.AssociateRequest,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)" inheritedFromTypeName="AssociateSuccessfulResponse" exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateUnencryptedResponse.CreateAssociationAtRelyingParty(DotNetOpenAuth.OpenId.Messages.AssociateRequest)">
      <summary>
            Called to create the Association based on a request previously given by the Relying Party.
            </summary>
      <param name="request">The prior request for an association.</param>
      <returns>The created association.</returns>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Messages.AssociateSuccessfulResponse.CreateAssociationAtRelyingParty(DotNetOpenAuth.OpenId.Messages.AssociateRequest)" inheritedFromTypeName="AssociateSuccessfulResponse" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateUnencryptedResponse.MacKey">
      <summary>
            Gets or sets the MAC key (shared secret) for this association, Base 64 (Josefsson, S., “The Base16, Base32, and Base64 Data Encodings,” .) [RFC3548] encoded. 
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.AssociateUnsuccessfulResponse">
      <summary>
            The Provider's response to a Relying Party that requested an association that the Provider does not support.
            </summary>
      <remarks>
            This message type described in OpenID 2.0 section 8.2.4.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.DirectErrorResponse">
      <summary>
            A message sent from a Provider to a Relying Party in response to a direct message request that resulted in an error.
            </summary>
      <remarks>
            This message must be sent with an HTTP status code of 400.
            This class satisfies OpenID 2.0 section 5.1.2.2.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.DirectErrorResponse.#ctor(System.Version,DotNetOpenAuth.Messaging.IDirectedProtocolMessage)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.DirectErrorResponse" /> class.
            </summary>
      <param name="responseVersion">The OpenID version of the response message.</param>
      <param name="originatingRequest">The originating request.</param>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.DirectErrorResponse.DotNetOpenAuth#Messaging#IHttpDirectResponse#HttpStatusCode">
      <summary>
            Gets the HTTP status code that the direct respones should be sent with.
            </summary>
      <value>
        <see cref="F:System.Net.HttpStatusCode.BadRequest" />
      </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.DirectErrorResponse.ErrorMessage">
      <summary>
            Gets or sets a human-readable message indicating why the request failed. 
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.DirectErrorResponse.Contact">
      <summary>
            Gets or sets the contact address for the administrator of the server. 
            </summary>
      <value>The contact address may take any form, as it is intended to be displayed to a person. </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.DirectErrorResponse.Reference">
      <summary>
            Gets or sets a reference token, such as a support ticket number or a URL to a news blog, etc. 
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Messages.AssociateUnsuccessfulResponse.Error">
      <summary>
            A hard-coded string indicating an error occurred.
            </summary>
      <value>"unsupported-type" </value>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.AssociateUnsuccessfulResponse.#ctor(System.Version,DotNetOpenAuth.OpenId.Messages.AssociateRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.AssociateUnsuccessfulResponse" /> class.
            </summary>
      <param name="responseVersion">The OpenID version of the response message.</param>
      <param name="originatingRequest">The originating request.</param>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateUnsuccessfulResponse.AssociationType">
      <summary>
            Gets or sets an association type supported by the OP from Section 8.3 (Association Types). 
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.AssociateUnsuccessfulResponse.SessionType">
      <summary>
            Gets or sets a valid association session type from Section 8.4 (Association Session Types) that the OP supports. 
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Messages.IndirectErrorResponse">
      <summary>
            A message sent from a Provider to a Relying Party in response to an indirect message request that resulted in an error.
            </summary>
      <remarks>
            This class satisfies OpenID 2.0 section 5.2.3.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectErrorResponse.#ctor(DotNetOpenAuth.OpenId.Messages.SignedResponseRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.IndirectErrorResponse" /> class.
            </summary>
      <param name="request">The request that resulted in this error on the Provider.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Messages.IndirectErrorResponse.#ctor(System.Version,System.Uri)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Messages.IndirectErrorResponse" /> class.
            </summary>
      <param name="version">The OpenID version this message should comply with.</param>
      <param name="recipient">The recipient of this message.</param>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectErrorResponse.ErrorMessage">
      <summary>
            Gets or sets a human-readable message indicating why the request failed. 
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectErrorResponse.Contact">
      <summary>
            Gets or sets the contact address for the administrator of the server. 
            </summary>
      <value>The contact address may take any form, as it is intended to be displayed to a person. </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Messages.IndirectErrorResponse.Reference">
      <summary>
            Gets or sets a reference token, such as a support ticket number or a URL to a news blog, etc. 
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager">
      <summary>
            Manages the establishment, storage and retrieval of associations at the relying party.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.associationStore">
      <summary>
            The storage to use for saving and retrieving associations.  May be null.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.channel">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.Channel" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.securitySettings">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.SecuritySettings" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.#ctor(DotNetOpenAuth.Messaging.Channel,DotNetOpenAuth.OpenId.IAssociationStore{System.Uri},DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager" /> class.
            </summary>
      <param name="channel">The channel the relying party is using.</param>
      <param name="associationStore">The association store.  May be null for dumb mode relying parties.</param>
      <param name="securitySettings">The security settings.</param>
      <requires exception="T:System.ArgumentNullException">channel != null</requires>
      <exception cref="T:System.ArgumentNullException">channel == null</exception>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.GetExistingAssociation(DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint)">
      <summary>
            Gets an association between this Relying Party and a given Provider
            if it already exists in the association store.
            </summary>
      <param name="provider">The provider to create an association with.</param>
      <returns>The association if one exists and has useful life remaining.  Otherwise <c>null</c>.</returns>
      <requires exception="T:System.ArgumentNullException">provider != null</requires>
      <exception cref="T:System.ArgumentNullException">provider == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.GetOrCreateAssociation(DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint)">
      <summary>
            Gets an existing association with the specified Provider, or attempts to create
            a new association of one does not already exist.
            </summary>
      <param name="provider">The provider to get an association for.</param>
      <returns>The existing or new association; <c>null</c> if none existed and one could not be created.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.CreateNewAssociation(DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint)">
      <summary>
            Creates a new association with a given Provider.
            </summary>
      <param name="provider">The provider to create an association with.</param>
      <returns>
            The newly created association, or null if no association can be created with
            the given Provider given the current security settings.
            </returns>
      <remarks>
            A new association is created and returned even if one already exists in the
            association store.
            Any new association is automatically added to the <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.associationStore" />.
            </remarks>
      <requires exception="T:System.ArgumentNullException">provider != null</requires>
      <exception cref="T:System.ArgumentNullException">provider == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.CreateNewAssociation(DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint,DotNetOpenAuth.OpenId.Messages.AssociateRequest,System.Int32)">
      <summary>
            Creates a new association with a given Provider.
            </summary>
      <param name="provider">The provider to create an association with.</param>
      <param name="associateRequest">The associate request.  May be <c>null</c>, which will always result in a <c>null</c> return value..</param>
      <param name="retriesRemaining">The number of times to try the associate request again if the Provider suggests it.</param>
      <returns>
            The newly created association, or null if no association can be created with
            the given Provider given the current security settings.
            </returns>
      <requires exception="T:System.ArgumentNullException">provider != null</requires>
      <exception cref="T:System.ArgumentNullException">provider == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.Channel">
      <summary>
            Gets or sets the channel to use for establishing associations.
            </summary>
      <value>The channel.</value>
      <setter>
        <requires exception="T:System.ArgumentNullException">value != null</requires>
      </setter>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.SecuritySettings">
      <summary>
            Gets or sets the security settings to apply in choosing association types to support.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentNullException">value != null</requires>
      </setter>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.HasAssociationStore">
      <summary>
            Gets a value indicating whether this instance has an association store.
            </summary>
      <value>
        <c>true</c> if the relying party can act in 'smart' mode;
            	<c>false</c> if the relying party must always act in 'dumb' mode.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AssociationManager.AssociationStoreTestHook">
      <summary>
            Gets the storage to use for saving and retrieving associations.  May be null.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.AssociationPreference">
      <summary>
            Preferences regarding creation and use of an association between a relying party
            and provider for authentication.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AssociationPreference.IfPossible">
      <summary>
            Indicates that an association should be created for use in authentication
            if one has not already been established between the relying party and the
            selected provider.
            </summary>
      <remarks>
            Even with this value, if an association attempt fails or the relying party
            has no application store to recall associations, the authentication may 
            proceed without an association.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AssociationPreference.IfAlreadyEstablished">
      <summary>
            Indicates that an association should be used for authentication only if
            it happens to already exist.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AssociationPreference.Never">
      <summary>
            Indicates that an authentication attempt should NOT use an OpenID association
            between the relying party and the provider, even if an association was previously
            created.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest">
      <summary>
            Facilitates customization and creation and an authentication request
            that a Relying Party is preparing to send.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest">
      <summary>
            Instances of this interface represent relying party authentication 
            requests that may be queried/modified in specific ways before being
            routed to the OpenID Provider.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Makes a dictionary of key/value pairs available when the authentication is completed.
            </summary>
      <param name="arguments">The arguments to add to the request's return_to URI.  Values must not be null.</param>
      <remarks>
        <para>Note that these values are NOT protected against eavesdropping in transit.  No
            privacy-sensitive data should be stored using this method.</para>
        <para>The values stored here can be retrieved using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArgument(System.String)" />, which will only return the value
            if it can be verified as untampered with in transit.</para>
        <para>Since the data set here is sent in the querystring of the request and some
            servers place limits on the size of a request URL, this data should be kept relatively
            small to ensure successful authentication.  About 1.5KB is about all that should be stored.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">arguments != null</requires>
      <exception cref="T:System.ArgumentNullException">arguments == null</exception>
      <requires exception="T:System.ArgumentException">arguments.Keys.All(k =&gt; !String.IsNullOrEmpty(k))</requires>
      <exception cref="T:System.ArgumentException">!(arguments.Keys.All(k =&gt; !String.IsNullOrEmpty(k)))</exception>
      <requires exception="T:System.ArgumentException">arguments.Values.All(v =&gt; v != null)</requires>
      <exception cref="T:System.ArgumentException">!(arguments.Values.All(v =&gt; v != null))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)">
      <summary>
            Makes a key/value pair available when the authentication is completed.
            </summary>
      <param name="key">The parameter name.</param>
      <param name="value">The value of the argument.  Must not be null.</param>
      <remarks>
        <para>Note that these values are NOT protected against eavesdropping in transit.  No
            privacy-sensitive data should be stored using this method.</para>
        <para>The value stored here can be retrieved using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArgument(System.String)" />, which will only return the value
            if it can be verified as untampered with in transit.</para>
        <para>Since the data set here is sent in the querystring of the request and some
            servers place limits on the size of a request URL, this data should be kept relatively
            small to ensure successful authentication.  About 1.5KB is about all that should be stored.</para>
      </remarks>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(key)</exception>
      <requires exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.SetCallbackArgument(System.String,System.String)">
      <summary>
            Makes a key/value pair available when the authentication is completed.
            </summary>
      <param name="key">The parameter name.</param>
      <param name="value">The value of the argument.  Must not be null.</param>
      <remarks>
        <para>Note that these values are NOT protected against eavesdropping in transit.  No
            security-sensitive data should be stored using this method.</para>
        <para>The value stored here can be retrieved using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArgument(System.String)" />.</para>
        <para>Since the data set here is sent in the querystring of the request and some
            servers place limits on the size of a request URL, this data should be kept relatively
            small to ensure successful authentication.  About 1.5KB is about all that should be stored.</para>
      </remarks>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(key)</exception>
      <requires exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.SetUntrustedCallbackArgument(System.String,System.String)">
      <summary>
            Makes a key/value pair available when the authentication is completed without
            requiring a return_to signature to protect against tampering of the callback argument.
            </summary>
      <param name="key">The parameter name.</param>
      <param name="value">The value of the argument.  Must not be null.</param>
      <remarks>
        <para>Note that these values are NOT protected against eavesdropping or tampering in transit.  No
            security-sensitive data should be stored using this method. </para>
        <para>The value stored here can be retrieved using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArgument(System.String)" />.</para>
        <para>Since the data set here is sent in the querystring of the request and some
            servers place limits on the size of a request URL, this data should be kept relatively
            small to ensure successful authentication.  About 1.5KB is about all that should be stored.</para>
      </remarks>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(key)</exception>
      <requires exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)">
      <summary>
            Adds an OpenID extension to the request directed at the OpenID provider.
            </summary>
      <param name="extension">The initialized extension to add to the request.</param>
      <requires exception="T:System.ArgumentNullException">extension != null</requires>
      <exception cref="T:System.ArgumentNullException">extension == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.RedirectToProvider">
      <summary>
            Redirects the user agent to the provider for authentication.
            Execution of the current page terminates after this call.
            </summary>
      <remarks>
            This method requires an ASP.NET HttpContext.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.Mode">
      <summary>
            Gets or sets the mode the Provider should use during authentication.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.RedirectingResponse">
      <summary>
            Gets the HTTP response the relying party should send to the user agent 
            to redirect it to the OpenID Provider to start the OpenID authentication process.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.ReturnToUrl">
      <summary>
            Gets the URL that the user agent will return to after authentication
            completes or fails at the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.Realm">
      <summary>
            Gets the URL that identifies this consumer web application that
            the Provider will display to the end user.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;Realm&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.ClaimedIdentifier">
      <summary>
            Gets the Claimed Identifier that the User Supplied Identifier
            resolved to.  Null if the user provided an OP Identifier 
            (directed identity).
            </summary>
      <remarks>
            Null is returned if the user is using the directed identity feature
            of OpenID 2.0 to make it nearly impossible for a relying party site
            to improperly store the reserved OpenID URL used for directed identity
            as a user's own Identifier.  
            However, to test for the Directed Identity feature, please test the
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.IsDirectedIdentity" /> property rather than testing this 
            property for a null value.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.IsDirectedIdentity">
      <summary>
            Gets a value indicating whether the authenticating user has chosen to let the Provider
            determine and send the ClaimedIdentifier after authentication.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.IsExtensionOnly">
      <summary>
            Gets or sets a value indicating whether this request only carries extensions
            and is not a request to verify that the user controls some identifier.
            </summary>
      <value>
        <c>true</c> if this request is merely a carrier of extensions and is not
            about an OpenID identifier; otherwise, <c>false</c>.
            </value>
      <remarks>
        <para>Although OpenID is first and primarily an authentication protocol, its extensions
            can be interesting all by themselves.  For instance, a relying party might want
            to know that its user is over 21 years old, or perhaps a member of some organization.
            OpenID extensions can provide this, without any need for asserting the identity of the user.</para>
        <para>Constructing an OpenID request for only extensions can be done by calling
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequest(DotNetOpenAuth.OpenId.Identifier)" /> with any valid OpenID identifier
            (claimed identifier or OP identifier).  But once this property is set to <c>true</c>,
            the claimed identifier value in the request is not included in the transmitted message.</para>
        <para>It is anticipated that an RP would only issue these types of requests to OPs that
            trusts to make assertions regarding the individual holding an account at that OP, so it
            is not likely that the RP would allow the user to type in an arbitrary claimed identifier
            without checking that it resolved to an OP endpoint the RP has on a trust whitelist.</para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.Provider">
      <summary>
            Gets information about the OpenId Provider, as advertised by the
            OpenID discovery documents found at the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.ClaimedIdentifier" />
            location.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;IProviderEndpoint&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.DiscoveryResult">
      <summary>
            Gets the discovery result leading to the formulation of this request.
            </summary>
      <value>The discovery result.</value>
      <getter>
        <ensures>Contract.Result&lt;IdentifierDiscoveryResult&gt;() != null</ensures>
      </getter>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.UserSuppliedIdentifierParameterName">
      <summary>
            The name of the internal callback parameter to use to store the user-supplied identifier.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.RelyingParty">
      <summary>
            The relying party that created this request object.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.associationPreference">
      <summary>
            How an association may or should be created or used in the formulation of the 
            authentication request.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.extensions">
      <summary>
            The extensions that have been added to this authentication request.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.returnToArgs">
      <summary>
            Arguments to add to the return_to part of the query string, so that
            these values come back to the consumer when the user agent returns.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.returnToArgsMustBeSigned">
      <summary>
            A value indicating whether the return_to callback arguments must be signed.
            </summary>
      <remarks>
            This field defaults to false, but is set to true as soon as the first callback argument
            is added that indicates it must be signed.  At which point, all arguments are signed
            even if individual ones did not need to be.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.#ctor(DotNetOpenAuth.OpenId.IdentifierDiscoveryResult,DotNetOpenAuth.OpenId.Realm,System.Uri,DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest" /> class.
            </summary>
      <param name="discoveryResult">The endpoint that describes the OpenID Identifier and Provider that will complete the authentication.</param>
      <param name="realm">The realm, or root URL, of the host web site.</param>
      <param name="returnToUrl">The base return_to URL that the Provider should return the user to to complete authentication.  This should not include callback parameters as these should be added using the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> method.</param>
      <param name="relyingParty">The relying party that created this instance.</param>
      <requires exception="T:System.ArgumentNullException">discoveryResult != null</requires>
      <exception cref="T:System.ArgumentNullException">discoveryResult == null</exception>
      <requires exception="T:System.ArgumentNullException">realm != null</requires>
      <exception cref="T:System.ArgumentNullException">realm == null</exception>
      <requires exception="T:System.ArgumentNullException">returnToUrl != null</requires>
      <exception cref="T:System.ArgumentNullException">returnToUrl == null</exception>
      <requires exception="T:System.ArgumentNullException">relyingParty != null</requires>
      <exception cref="T:System.ArgumentNullException">relyingParty == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.AddCallbackArguments(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Makes a dictionary of key/value pairs available when the authentication is completed.
            </summary>
      <param name="arguments">The arguments to add to the request's return_to URI.</param>
      <remarks>
        <para>Note that these values are NOT protected against eavesdropping in transit.  No
            privacy-sensitive data should be stored using this method.</para>
        <para>The values stored here can be retrieved using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArguments" />, which will only return the value
            if it hasn't been tampered with in transit.</para>
        <para>Since the data set here is sent in the querystring of the request and some
            servers place limits on the size of a request URL, this data should be kept relatively
            small to ensure successful authentication.  About 1.5KB is about all that should be stored.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.ArgumentNullException">arguments != null</requires>
      <exception cref="T:System.ArgumentNullException">arguments == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.ArgumentException">arguments.Keys.All(k =&gt; !String.IsNullOrEmpty(k))</requires>
      <exception cref="T:System.ArgumentException">!(arguments.Keys.All(k =&gt; !String.IsNullOrEmpty(k)))</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.Collections.Generic.IDictionary{System.String,System.String})" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.ArgumentException">arguments.Values.All(v =&gt; v != null)</requires>
      <exception cref="T:System.ArgumentException">!(arguments.Values.All(v =&gt; v != null))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.AddCallbackArguments(System.String,System.String)">
      <summary>
            Makes a key/value pair available when the authentication is completed.
            </summary>
      <param name="key">The parameter name.</param>
      <param name="value">The value of the argument.</param>
      <remarks>
        <para>Note that these values are NOT protected against eavesdropping in transit.  No
            privacy-sensitive data should be stored using this method.</para>
        <para>The value stored here can be retrieved using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArgument(System.String)" />, which will only return the value
            if it hasn't been tampered with in transit.</para>
        <para>Since the data set here is sent in the querystring of the request and some
            servers place limits on the size of a request URL, this data should be kept relatively
            small to ensure successful authentication.  About 1.5KB is about all that should be stored.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.ArgumentException">!String.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(key)</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.SetCallbackArgument(System.String,System.String)">
      <summary>
            Makes a key/value pair available when the authentication is completed.
            </summary>
      <param name="key">The parameter name.</param>
      <param name="value">The value of the argument.  Must not be null.</param>
      <remarks>
        <para>Note that these values are NOT protected against tampering in transit.  No
            security-sensitive data should be stored using this method.</para>
        <para>The value stored here can be retrieved using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArgument(System.String)" />.</para>
        <para>Since the data set here is sent in the querystring of the request and some
            servers place limits on the size of a request URL, this data should be kept relatively
            small to ensure successful authentication.  About 1.5KB is about all that should be stored.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.SetCallbackArgument(System.String,System.String)" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.ArgumentException">!String.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(key)</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.SetCallbackArgument(System.String,System.String)" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.SetUntrustedCallbackArgument(System.String,System.String)">
      <summary>
            Makes a key/value pair available when the authentication is completed without
            requiring a return_to signature to protect against tampering of the callback argument.
            </summary>
      <param name="key">The parameter name.</param>
      <param name="value">The value of the argument.  Must not be null.</param>
      <remarks>
        <para>Note that these values are NOT protected against eavesdropping or tampering in transit.  No
            security-sensitive data should be stored using this method. </para>
        <para>The value stored here can be retrieved using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArgument(System.String)" />.</para>
        <para>Since the data set here is sent in the querystring of the request and some
            servers place limits on the size of a request URL, this data should be kept relatively
            small to ensure successful authentication.  About 1.5KB is about all that should be stored.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.SetUntrustedCallbackArgument(System.String,System.String)" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.ArgumentException">!string.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(key)</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.SetUntrustedCallbackArgument(System.String,System.String)" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.ArgumentNullException">value != null</requires>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.AddExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)">
      <summary>
            Adds an OpenID extension to the request directed at the OpenID provider.
            </summary>
      <param name="extension">The initialized extension to add to the request.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddExtension(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)" inheritedFromTypeName="IAuthenticationRequest" exception="T:System.ArgumentNullException">extension != null</requires>
      <exception cref="T:System.ArgumentNullException">extension == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.RedirectToProvider">
      <summary>
            Redirects the user agent to the provider for authentication.
            Execution of the current page terminates after this call.
            </summary>
      <remarks>
            This method requires an ASP.NET HttpContext.
            </remarks>
      <exception cref="T:System.Threading.ThreadAbortException">Typically thrown by ASP.NET in order to prevent additional data from the page being sent to the client and corrupting the response.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.Create(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty,DotNetOpenAuth.OpenId.Realm,System.Uri,System.Boolean)">
      <summary>
            Performs identifier discovery, creates associations and generates authentication requests
            on-demand for as long as new ones can be generated based on the results of Identifier discovery.
            </summary>
      <param name="userSuppliedIdentifier">The user supplied identifier.</param>
      <param name="relyingParty">The relying party.</param>
      <param name="realm">The realm.</param>
      <param name="returnToUrl">The return_to base URL.</param>
      <param name="createNewAssociationsAsNeeded">if set to <c>true</c>, associations that do not exist between this Relying Party and the asserting Providers are created before the authentication request is created.</param>
      <returns>
            A sequence of authentication requests, any of which constitutes a valid identity assertion on the Claimed Identifier.
            Never null, but may be empty.
            </returns>
      <requires exception="T:System.ArgumentNullException">userSuppliedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">userSuppliedIdentifier == null</exception>
      <requires exception="T:System.ArgumentNullException">relyingParty != null</requires>
      <exception cref="T:System.ArgumentNullException">relyingParty == null</exception>
      <requires exception="T:System.ArgumentNullException">realm != null</requires>
      <exception cref="T:System.ArgumentNullException">realm == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;AuthenticationRequest&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.CreateForTest(DotNetOpenAuth.OpenId.IdentifierDiscoveryResult,DotNetOpenAuth.OpenId.Realm,System.Uri,DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty)">
      <summary>
            Creates an instance of <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest" /> FOR TESTING PURPOSES ONLY.
            </summary>
      <param name="discoveryResult">The discovery result.</param>
      <param name="realm">The realm.</param>
      <param name="returnTo">The return to.</param>
      <param name="rp">The relying party.</param>
      <returns>The instantiated <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest" />.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.CreateRequestMessageTestHook">
      <summary>
            Creates the request message to send to the Provider,
            based on the properties in this instance.
            </summary>
      <returns>The message to send to the Provider.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.CreateInternal(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty,DotNetOpenAuth.OpenId.Realm,System.Uri,System.Collections.Generic.IEnumerable{DotNetOpenAuth.OpenId.IdentifierDiscoveryResult},System.Boolean)">
      <summary>
            Performs deferred request generation for the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.Create(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty,DotNetOpenAuth.OpenId.Realm,System.Uri,System.Boolean)" /> method.
            </summary>
      <param name="userSuppliedIdentifier">The user supplied identifier.</param>
      <param name="relyingParty">The relying party.</param>
      <param name="realm">The realm.</param>
      <param name="returnToUrl">The return_to base URL.</param>
      <param name="serviceEndpoints">The discovered service endpoints on the Claimed Identifier.</param>
      <param name="createNewAssociationsAsNeeded">if set to <c>true</c>, associations that do not exist between this Relying Party and the asserting Providers are created before the authentication request is created.</param>
      <returns>
            A sequence of authentication requests, any of which constitutes a valid identity assertion on the Claimed Identifier.
            Never null, but may be empty.
            </returns>
      <remarks>
            All data validation and cleansing steps must have ALREADY taken place
            before calling this method.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.FilterAndSortEndpoints(System.Collections.Generic.IEnumerable{DotNetOpenAuth.OpenId.IdentifierDiscoveryResult},DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty)">
      <summary>
            Returns a filtered and sorted list of the available OP endpoints for a discovered Identifier.
            </summary>
      <param name="endpoints">The endpoints.</param>
      <param name="relyingParty">The relying party.</param>
      <returns>A filtered and sorted list of endpoints; may be empty if the input was empty or the filter removed all endpoints.</returns>
      <requires exception="T:System.ArgumentNullException">endpoints != null</requires>
      <exception cref="T:System.ArgumentNullException">endpoints == null</exception>
      <requires exception="T:System.ArgumentNullException">relyingParty != null</requires>
      <exception cref="T:System.ArgumentNullException">relyingParty == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.CreateRequestMessage">
      <summary>
            Creates the request message to send to the Provider,
            based on the properties in this instance.
            </summary>
      <returns>The message to send to the Provider.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.GetAssociation">
      <summary>
            Gets the association to use for this authentication request.
            </summary>
      <returns>The association to use; <c>null</c> to use 'dumb mode'.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.Mode">
      <summary>
            Gets or sets the mode the Provider should use during authentication.
            </summary>
      <value />
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.RedirectingResponse">
      <summary>
            Gets the HTTP response the relying party should send to the user agent
            to redirect it to the OpenID Provider to start the OpenID authentication process.
            </summary>
      <value />
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.ReturnToUrl">
      <summary>
            Gets the URL that the user agent will return to after authentication
            completes or fails at the Provider.
            </summary>
      <value />
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.Realm">
      <summary>
            Gets the URL that identifies this consumer web application that
            the Provider will display to the end user.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.get_Realm" inheritedFromTypeName="IAuthenticationRequest">Contract.Result&lt;Realm&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.ClaimedIdentifier">
      <summary>
            Gets the Claimed Identifier that the User Supplied Identifier
            resolved to.  Null if the user provided an OP Identifier
            (directed identity).
            </summary>
      <value />
      <remarks>
            Null is returned if the user is using the directed identity feature
            of OpenID 2.0 to make it nearly impossible for a relying party site
            to improperly store the reserved OpenID URL used for directed identity
            as a user's own Identifier.
            However, to test for the Directed Identity feature, please test the
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.IsDirectedIdentity" /> property rather than testing this
            property for a null value.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.IsDirectedIdentity">
      <summary>
            Gets a value indicating whether the authenticating user has chosen to let the Provider
            determine and send the ClaimedIdentifier after authentication.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.IsExtensionOnly">
      <summary>
            Gets or sets a value indicating whether this request only carries extensions
            and is not a request to verify that the user controls some identifier.
            </summary>
      <value>
        <c>true</c> if this request is merely a carrier of extensions and is not
            about an OpenID identifier; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.Provider">
      <summary>
            Gets information about the OpenId Provider, as advertised by the
            OpenId discovery documents found at the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.ClaimedIdentifier" />
            location.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.get_Provider" inheritedFromTypeName="IAuthenticationRequest">Contract.Result&lt;IProviderEndpoint&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.DiscoveryResult">
      <summary>
            Gets the discovery result leading to the formulation of this request.
            </summary>
      <value>The discovery result.</value>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.get_DiscoveryResult" inheritedFromTypeName="IAuthenticationRequest">Contract.Result&lt;IdentifierDiscoveryResult&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.AssociationPreference">
      <summary>
            Gets or sets how an association may or should be created or used 
            in the formulation of the authentication request.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.AppliedExtensions">
      <summary>
            Gets the extensions that have been added to the request.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.Extensions">
      <summary>
            Gets the list of extensions for this request.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequestMode">
      <summary>
            Indicates the mode the Provider should use while authenticating the end user.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequestMode.Immediate">
      <summary>
            The Provider should use whatever credentials are immediately available
            to determine whether the end user owns the Identifier.  If sufficient
            credentials (i.e. cookies) are not immediately available, the Provider
            should fail rather than prompt the user.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequestMode.Setup">
      <summary>
            The Provider should determine whether the end user owns the Identifier,
            displaying a web page to the user to login etc., if necessary.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.DuplicateRequestedHostsComparer">
      <summary>
            An authentication request comparer that judges equality solely on the OP endpoint hostname.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.DuplicateRequestedHostsComparer.instance">
      <summary>
            The singleton instance of this comparer.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.DuplicateRequestedHostsComparer.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.DuplicateRequestedHostsComparer" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.DuplicateRequestedHostsComparer.Equals(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest,DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Determines whether the specified objects are equal.
            </summary>
      <param name="x">The first object to compare.</param>
      <param name="y">The second object to compare.</param>
      <returns>
            true if the specified objects are equal; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.DuplicateRequestedHostsComparer.GetHashCode(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Returns a hash code for the specified object.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> for which a hash code is to be returned.</param>
      <returns>A hash code for the specified object.</returns>
      <exception cref="T:System.ArgumentNullException">
            The type of <paramref name="obj" /> is a reference type and <paramref name="obj" /> is null.
            </exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.DuplicateRequestedHostsComparer.Instance">
      <summary>
            Gets the singleton instance of this comparer.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint">
      <summary>
            Information published about an OpenId Provider by the
            OpenId discovery documents found at a user's Claimed Identifier.
            </summary>
      <remarks>
            Because information provided by this interface is suppplied by a 
            user's individually published documents, it may be incomplete or inaccurate.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.IsExtensionSupported``1">
      <summary>
            Checks whether the OpenId Identifier claims support for a given extension.
            </summary>
      <typeparam name="T">The extension whose support is being queried.</typeparam>
      <returns>True if support for the extension is advertised.  False otherwise.</returns>
      <remarks>
            Note that a true or false return value is no guarantee of a Provider's 
            support for or lack of support for an extension.  The return value is
            determined by how the authenticating user filled out his/her XRDS document only.
            The only way to be sure of support for a given extension is to include
            the extension in the request and see if a response comes back for that extension.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.IsExtensionSupported(System.Type)">
      <summary>
            Checks whether the OpenId Identifier claims support for a given extension.
            </summary>
      <param name="extensionType">The extension whose support is being queried.</param>
      <returns>True if support for the extension is advertised.  False otherwise.</returns>
      <remarks>
            Note that a true or false return value is no guarantee of a Provider's 
            support for or lack of support for an extension.  The return value is
            determined by how the authenticating user filled out his/her XRDS document only.
            The only way to be sure of support for a given extension is to include
            the extension in the request and see if a response comes back for that extension.
            </remarks>
      <requires exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.Version">
      <summary>
            Gets the detected version of OpenID implemented by the Provider.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;Version&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.Uri">
      <summary>
            Gets the URL that the OpenID Provider receives authentication requests at.
            </summary>
      <value>
            This value MUST be an absolute HTTP or HTTPS URL.
            </value>
      <getter>
        <ensures>Contract.Result&lt;Uri&gt;() != null</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpointContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint" /> type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpointContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpointContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpointContract.DotNetOpenAuth#OpenId#RelyingParty#IProviderEndpoint#IsExtensionSupported``1">
      <summary>
            Checks whether the OpenId Identifier claims support for a given extension.
            </summary>
      <typeparam name="T">The extension whose support is being queried.</typeparam>
      <returns>
            True if support for the extension is advertised.  False otherwise.
            </returns>
      <remarks>
            Note that a true or false return value is no guarantee of a Provider's
            support for or lack of support for an extension.  The return value is
            determined by how the authenticating user filled out his/her XRDS document only.
            The only way to be sure of support for a given extension is to include
            the extension in the request and see if a response comes back for that extension.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpointContract.DotNetOpenAuth#OpenId#RelyingParty#IProviderEndpoint#IsExtensionSupported(System.Type)">
      <summary>
            Checks whether the OpenId Identifier claims support for a given extension.
            </summary>
      <param name="extensionType">The extension whose support is being queried.</param>
      <returns>
            True if support for the extension is advertised.  False otherwise.
            </returns>
      <remarks>
            Note that a true or false return value is no guarantee of a Provider's
            support for or lack of support for an extension.  The return value is
            determined by how the authenticating user filled out his/her XRDS document only.
            The only way to be sure of support for a given extension is to include
            the extension in the request and see if a response comes back for that extension.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpointContract.DotNetOpenAuth#OpenId#RelyingParty#IProviderEndpoint#Version">
      <summary>
            Gets the detected version of OpenID implemented by the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpointContract.DotNetOpenAuth#OpenId#RelyingParty#IProviderEndpoint#Uri">
      <summary>
            Gets the URL that the OpenID Provider receives authentication requests at.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehaviorContract">
      <summary>
            Contract class for the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior" /> interface.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehaviorContract.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehaviorContract" /> class from being created.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehaviorContract.DotNetOpenAuth#OpenId#RelyingParty#IRelyingPartyBehavior#ApplySecuritySettings(DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings)">
      <summary>
            Applies a well known set of security requirements to a default set of security settings.
            </summary>
      <param name="securitySettings">The security settings to enhance with the requirements of this profile.</param>
      <remarks>
            Care should be taken to never decrease security when applying a profile.
            Profiles should only enhance security requirements to avoid being
            incompatible with each other.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehaviorContract.DotNetOpenAuth#OpenId#RelyingParty#IRelyingPartyBehavior#OnOutgoingAuthenticationRequest(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Called when an authentication request is about to be sent.
            </summary>
      <param name="request">The request.</param>
      <remarks>
            Implementations should be prepared to be called multiple times on the same outgoing message
            without malfunctioning.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehaviorContract.DotNetOpenAuth#OpenId#RelyingParty#IRelyingPartyBehavior#OnIncomingPositiveAssertion(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Called when an incoming positive assertion is received.
            </summary>
      <param name="assertion">The positive assertion.</param>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse">
      <summary>
            Wraps a negative assertion response in an <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse" /> instance
            for public consumption by the host web site.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse">
      <summary>
            An instance of this interface represents an identity assertion 
            from an OpenID Provider.  It may be in response to an authentication 
            request previously put to it by a Relying Party site or it may be an
            unsolicited assertion.
            </summary>
      <remarks>
            Relying party web sites should handle both solicited and unsolicited 
            assertions.  This interface does not offer a way to discern between
            solicited and unsolicited assertions as they should be treated equally.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArgument(System.String)">
      <summary>
            Gets a callback argument's value that was previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.
            </summary>
      <param name="key">The name of the parameter whose value is sought.</param>
      <returns>
            The value of the argument, or null if the named parameter could not be found.
            </returns>
      <remarks>
            Callback parameters are only available if they are complete and untampered with
            since the original request message (as proven by a signature).
            If the relying party is operating in stateless mode <c>null</c> is always
            returned since the callback arguments could not be signed to protect against
            tampering.
            </remarks>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(key)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedCallbackArgument(System.String)">
      <summary>
            Gets a callback argument's value that was previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.
            </summary>
      <param name="key">The name of the parameter whose value is sought.</param>
      <returns>
            The value of the argument, or null if the named parameter could not be found.
            </returns>
      <remarks>
            Callback parameters are only available even if the RP is in stateless mode,
            or the callback parameters are otherwise unverifiable as untampered with.
            Therefore, use this method only when the callback argument is not to be
            used to make a security-sensitive decision.
            </remarks>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(key)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArguments">
      <summary>
            Gets all the callback arguments that were previously added using 
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> or as a natural part
            of the return_to URL.
            </summary>
      <returns>A name-value dictionary.  Never null.</returns>
      <remarks>
            Callback parameters are only available if they are complete and untampered with
            since the original request message (as proven by a signature).
            If the relying party is operating in stateless mode an empty dictionary is always
            returned since the callback arguments could not be signed to protect against
            tampering.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedCallbackArguments">
      <summary>
            Gets all the callback arguments that were previously added using 
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> or as a natural part
            of the return_to URL.
            </summary>
      <returns>A name-value dictionary.  Never null.</returns>
      <remarks>
            Callback parameters are only available even if the RP is in stateless mode,
            or the callback parameters are otherwise unverifiable as untampered with.
            Therefore, use this method only when the callback argument is not to be
            used to make a security-sensitive decision.
            </remarks>
      <ensures>Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension``1">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <typeparam name="T">The type of extension to look for in the response message.</typeparam>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned only if the Provider signed them. 
            Relying parties that do not care if the values were modified in
            transit should use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension``1" /> method
            in order to allow the Provider to not sign the extension. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension(System.Type)">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <param name="extensionType">Type of the extension to look for in the response.</param>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned only if the Provider signed them. 
            Relying parties that do not care if the values were modified in
            transit should use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)" /> method
            in order to allow the Provider to not sign the extension. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension``1">
      <summary>
            Tries to get an OpenID extension that may be present in the response, without
            requiring it to be signed by the Provider.
            </summary>
      <typeparam name="T">The type of extension to look for in the response message.</typeparam>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned whether they are signed or not.  
            Use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension``1" /> method to retrieve
            extension responses only if they are signed by the Provider to
            protect against tampering. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)">
      <summary>
            Tries to get an OpenID extension that may be present in the response, without
            requiring it to be signed by the Provider.
            </summary>
      <param name="extensionType">Type of the extension to look for in the response.</param>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned whether they are signed or not.  
            Use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension(System.Type)" /> method to retrieve
            extension responses only if they are signed by the Provider to
            protect against tampering. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.ClaimedIdentifier">
      <summary>
            Gets the Identifier that the end user claims to own.  For use with user database storage and lookup.
            May be null for some failed authentications (i.e. failed directed identity authentications).
            </summary>
      <remarks>
        <para>
            This is the secure identifier that should be used for database storage and lookup.
            It is not always friendly (i.e. =Arnott becomes =!9B72.7DD1.50A9.5CCD), but it protects
            user identities against spoofing and other attacks.  
            </para>
        <para>
            For user-friendly identifiers to display, use the 
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.FriendlyIdentifierForDisplay" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.FriendlyIdentifierForDisplay">
      <summary>
            Gets a user-friendly OpenID Identifier for display purposes ONLY.
            </summary>
      <remarks>
        <para>
            This <i>should</i> be put through <see cref="M:System.Web.HttpUtility.HtmlEncode(System.String)" /> before
            sending to a browser to secure against javascript injection attacks.
            </para>
        <para>
            This property retains some aspects of the user-supplied identifier that get lost
            in the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.ClaimedIdentifier" />.  For example, XRIs used as user-supplied
            identifiers (i.e. =Arnott) become unfriendly unique strings (i.e. =!9B72.7DD1.50A9.5CCD).
            For display purposes, such as text on a web page that says "You're logged in as ...",
            this property serves to provide the =Arnott string, or whatever else is the most friendly
            string close to what the user originally typed in.
            </para>
        <para>
            If the user-supplied identifier is a URI, this property will be the URI after all 
            redirects, and with the protocol and fragment trimmed off.
            If the user-supplied identifier is an XRI, this property will be the original XRI.
            If the user-supplied identifier is an OpenID Provider identifier (i.e. yahoo.com), 
            this property will be the Claimed Identifier, with the protocol stripped if it is a URI.
            </para>
        <para>
            It is <b>very</b> important that this property <i>never</i> be used for database storage
            or lookup to avoid identity spoofing and other security risks.  For database storage
            and lookup please use the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.ClaimedIdentifier" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.Status">
      <summary>
            Gets the detailed success or failure status of the authentication attempt.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.Provider">
      <summary>
            Gets information about the OpenId Provider, as advertised by the
            OpenID discovery documents found at the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.ClaimedIdentifier" />
            location, if available.
            </summary>
      <value>
            The Provider endpoint that issued the positive assertion;
            or <c>null</c> if information about the Provider is unavailable.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.Exception">
      <summary>
            Gets the details regarding a failed authentication attempt, if available.
            This will be set if and only if <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.Status" /> is <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus.Failed" />.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.ISetupRequiredAuthenticationResponse">
      <summary>
            An interface to expose useful properties and functionality for handling
            authentication responses that are returned from Immediate authentication
            requests that require a subsequent request to be made in non-immediate mode.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.ISetupRequiredAuthenticationResponse.UserSuppliedIdentifier">
      <summary>
            Gets the <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> to pass to <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequest(DotNetOpenAuth.OpenId.Identifier)" />
            in a subsequent authentication attempt.
            </summary>
      <getter>
        <requires exception="T:System.InvalidOperationException">((IAuthenticationResponse)this).Status == AuthenticationStatus.SetupRequired</requires>
      </getter>
      <exception cref="T:System.InvalidOperationException">!(((IAuthenticationResponse)this).Status == AuthenticationStatus.SetupRequired)</exception>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.response">
      <summary>
            The negative assertion message that was received by the RP that was used
            to create this instance.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.#ctor(DotNetOpenAuth.OpenId.Messages.NegativeAssertionResponse)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse" /> class.
            </summary>
      <param name="response">The negative assertion response received by the Relying Party.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.GetCallbackArgument(System.String)">
      <summary>
            Gets a callback argument's value that was previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.
            </summary>
      <param name="key">The name of the parameter whose value is sought.</param>
      <returns>
            The value of the argument, or null if the named parameter could not be found.
            </returns>
      <remarks>
        <para>This may return any argument on the querystring that came with the authentication response,
            which may include parameters not explicitly added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.</para>
        <para>Note that these values are NOT protected against tampering in transit.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArgument(System.String)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">!String.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(key)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.GetUntrustedCallbackArgument(System.String)">
      <summary>
            Gets a callback argument's value that was previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.
            </summary>
      <param name="key">The name of the parameter whose value is sought.</param>
      <returns>
            The value of the argument, or null if the named parameter could not be found.
            </returns>
      <remarks>
            Callback parameters are only available even if the RP is in stateless mode,
            or the callback parameters are otherwise unverifiable as untampered with.
            Therefore, use this method only when the callback argument is not to be
            used to make a security-sensitive decision.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedCallbackArgument(System.String)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">!string.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(key)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.GetCallbackArguments">
      <summary>
            Gets all the callback arguments that were previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> or as a natural part
            of the return_to URL.
            </summary>
      <returns>A name-value dictionary.  Never null.</returns>
      <remarks>
        <para>This MAY return any argument on the querystring that came with the authentication response,
            which may include parameters not explicitly added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.</para>
        <para>Note that these values are NOT protected against tampering in transit.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.GetUntrustedCallbackArguments">
      <summary>
            Gets all the callback arguments that were previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> or as a natural part
            of the return_to URL.
            </summary>
      <returns>A name-value dictionary.  Never null.</returns>
      <remarks>
            Callback parameters are only available even if the RP is in stateless mode,
            or the callback parameters are otherwise unverifiable as untampered with.
            Therefore, use this method only when the callback argument is not to be
            used to make a security-sensitive decision.
            </remarks>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedCallbackArguments" inheritedFromTypeName="IAuthenticationResponse">Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.GetExtension``1">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <typeparam name="T">The type of extension to look for in the response message.</typeparam>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned only if the Provider signed them.
            Relying parties that do not care if the values were modified in
            transit should use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.GetUntrustedExtension``1" /> method
            in order to allow the Provider to not sign the extension. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.GetExtension(System.Type)">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <param name="extensionType">Type of the extension to look for in the response.</param>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned only if the Provider signed them.
            Relying parties that do not care if the values were modified in
            transit should use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.GetUntrustedExtension(System.Type)" /> method
            in order to allow the Provider to not sign the extension. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.GetUntrustedExtension``1">
      <summary>
            Tries to get an OpenID extension that may be present in the response, without
            requiring it to be signed by the Provider.
            </summary>
      <typeparam name="T">The type of extension to look for in the response message.</typeparam>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned whether they are signed or not.
            Use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.GetExtension``1" /> method to retrieve
            extension responses only if they are signed by the Provider to
            protect against tampering. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.GetUntrustedExtension(System.Type)">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <param name="extensionType">Type of the extension to look for in the response.</param>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned whether they are signed or not.
            Use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.GetExtension(System.Type)" /> method to retrieve
            extension responses only if they are signed by the Provider to
            protect against tampering. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.ClaimedIdentifier">
      <summary>
            Gets the Identifier that the end user claims to own.  For use with user database storage and lookup.
            May be null for some failed authentications (i.e. failed directed identity authentications).
            </summary>
      <value />
      <remarks>
        <para>
            This is the secure identifier that should be used for database storage and lookup.
            It is not always friendly (i.e. =Arnott becomes =!9B72.7DD1.50A9.5CCD), but it protects
            user identities against spoofing and other attacks.
            </para>
        <para>
            For user-friendly identifiers to display, use the
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.FriendlyIdentifierForDisplay" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.FriendlyIdentifierForDisplay">
      <summary>
            Gets a user-friendly OpenID Identifier for display purposes ONLY.
            </summary>
      <value />
      <remarks>
        <para>
            This <i>should</i> be put through <see cref="M:System.Web.HttpUtility.HtmlEncode(System.String)" /> before
            sending to a browser to secure against javascript injection attacks.
            </para>
        <para>
            This property retains some aspects of the user-supplied identifier that get lost
            in the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.ClaimedIdentifier" />.  For example, XRIs used as user-supplied
            identifiers (i.e. =Arnott) become unfriendly unique strings (i.e. =!9B72.7DD1.50A9.5CCD).
            For display purposes, such as text on a web page that says "You're logged in as ...",
            this property serves to provide the =Arnott string, or whatever else is the most friendly
            string close to what the user originally typed in.
            </para>
        <para>
            If the user-supplied identifier is a URI, this property will be the URI after all
            redirects, and with the protocol and fragment trimmed off.
            If the user-supplied identifier is an XRI, this property will be the original XRI.
            If the user-supplied identifier is an OpenID Provider identifier (i.e. yahoo.com),
            this property will be the Claimed Identifier, with the protocol stripped if it is a URI.
            </para>
        <para>
            It is <b>very</b> important that this property <i>never</i> be used for database storage
            or lookup to avoid identity spoofing and other security risks.  For database storage
            and lookup please use the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.ClaimedIdentifier" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.Status">
      <summary>
            Gets the detailed success or failure status of the authentication attempt.
            </summary>
      <value />
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.Provider">
      <summary>
            Gets information about the OpenId Provider, as advertised by the
            OpenID discovery documents found at the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.ClaimedIdentifier" />
            location.
            </summary>
      <value>
            The Provider endpoint that issued the positive assertion;
            or <c>null</c> if information about the Provider is unavailable.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.Exception">
      <summary>
            Gets the details regarding a failed authentication attempt, if available.
            This will be set if and only if <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.Status" /> is <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus.Failed" />.
            </summary>
      <value />
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.NegativeAuthenticationResponse.UserSuppliedIdentifier">
      <summary>
            Gets the <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> to pass to <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequest(DotNetOpenAuth.OpenId.Identifier)" />
            in a subsequent authentication attempt.
            </summary>
      <value />
      <getter>
        <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.ISetupRequiredAuthenticationResponse.get_UserSuppliedIdentifier" inheritedFromTypeName="ISetupRequiredAuthenticationResponse" exception="T:System.InvalidOperationException">((IAuthenticationResponse)this).Status == AuthenticationStatus.SetupRequired</requires>
      </getter>
      <exception cref="T:System.InvalidOperationException">!(((IAuthenticationResponse)this).Status == AuthenticationStatus.SetupRequired)</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdEventArgs">
      <summary>
            The event details passed to event handlers.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdEventArgs.#ctor(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdEventArgs" /> class
            with minimal information of an incomplete or failed authentication attempt.
            </summary>
      <param name="request">The outgoing authentication request.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdEventArgs.#ctor(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdEventArgs" /> class
            with information on a completed authentication attempt
            (whether that attempt was successful or not).
            </summary>
      <param name="response">The incoming authentication response.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdEventArgs.Cancel">
      <summary>
            Gets or sets a value indicating whether to cancel
            the OpenID authentication and/or login process.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdEventArgs.ClaimedIdentifier">
      <summary>
            Gets the Identifier the user is claiming to own.  Or null if the user
            is using Directed Identity.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdEventArgs.IsDirectedIdentity">
      <summary>
            Gets a value indicating whether the user has selected to let his Provider determine 
            the ClaimedIdentifier to use as part of successful authentication.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdEventArgs.Request">
      <summary>
            Gets the details of the OpenID authentication request,
            and allows for adding extensions.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdEventArgs.Response">
      <summary>
            Gets the details of the OpenID authentication response.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.PopupBehavior">
      <summary>
            Several ways that the relying party can direct the user to the Provider
            to complete authentication.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.PopupBehavior.Never">
      <summary>
            A full browser window redirect will be used to send the
            user to the Provider.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.PopupBehavior.Always">
      <summary>
            A popup window will be used to send the user to the Provider.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.PopupBehavior.IfProviderSupported">
      <summary>
            A popup window will be used to send the user to the Provider
            if the Provider advertises support for the popup UI extension;
            otherwise a standard redirect is used.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse">
      <summary>
            Wraps an extension-only response from the OP in an <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse" /> instance
            for public consumption by the host web site.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.response">
      <summary>
            Backin field for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.Response" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.provider">
      <summary>
            Information about the OP endpoint that issued this assertion.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.#ctor(DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse" /> class.
            </summary>
      <param name="response">The response message.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.GetCallbackArgument(System.String)">
      <summary>
            Gets a callback argument's value that was previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.
            </summary>
      <param name="key">The name of the parameter whose value is sought.</param>
      <returns>
            The value of the argument, or null if the named parameter could not be found.
            </returns>
      <remarks>
            Callback parameters are only available if they are complete and untampered with
            since the original request message (as proven by a signature).
            If the relying party is operating in stateless mode <c>null</c> is always
            returned since the callback arguments could not be signed to protect against
            tampering.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArgument(System.String)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">!String.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(key)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.GetUntrustedCallbackArgument(System.String)">
      <summary>
            Gets a callback argument's value that was previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.
            </summary>
      <param name="key">The name of the parameter whose value is sought.</param>
      <returns>
            The value of the argument, or null if the named parameter could not be found.
            </returns>
      <remarks>
            Callback parameters are only available even if the RP is in stateless mode,
            or the callback parameters are otherwise unverifiable as untampered with.
            Therefore, use this method only when the callback argument is not to be
            used to make a security-sensitive decision.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedCallbackArgument(System.String)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">!string.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(key)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.GetCallbackArguments">
      <summary>
            Gets all the callback arguments that were previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> or as a natural part
            of the return_to URL.
            </summary>
      <returns>A name-value dictionary.  Never null.</returns>
      <remarks>
            Callback parameters are only available if they are complete and untampered with
            since the original request message (as proven by a signature).
            If the relying party is operating in stateless mode an empty dictionary is always
            returned since the callback arguments could not be signed to protect against
            tampering.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.GetUntrustedCallbackArguments">
      <summary>
            Gets all the callback arguments that were previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> or as a natural part
            of the return_to URL.
            </summary>
      <returns>A name-value dictionary.  Never null.</returns>
      <remarks>
            Callback parameters are only available if they are complete and untampered with
            since the original request message (as proven by a signature).
            If the relying party is operating in stateless mode an empty dictionary is always
            returned since the callback arguments could not be signed to protect against
            tampering.
            </remarks>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedCallbackArguments" inheritedFromTypeName="IAuthenticationResponse">Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.GetExtension``1">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <typeparam name="T">The type of extension to look for in the response message.</typeparam>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned only if the Provider signed them.
            Relying parties that do not care if the values were modified in
            transit should use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.GetUntrustedExtension``1" /> method
            in order to allow the Provider to not sign the extension. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.GetExtension(System.Type)">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <param name="extensionType">Type of the extension to look for in the response.</param>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned only if the Provider signed them.
            Relying parties that do not care if the values were modified in
            transit should use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.GetUntrustedExtension(System.Type)" /> method
            in order to allow the Provider to not sign the extension. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.GetUntrustedExtension``1">
      <summary>
            Tries to get an OpenID extension that may be present in the response, without
            requiring it to be signed by the Provider.
            </summary>
      <typeparam name="T">The type of extension to look for in the response message.</typeparam>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned whether they are signed or not.
            Use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.GetExtension``1" /> method to retrieve
            extension responses only if they are signed by the Provider to
            protect against tampering. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.GetUntrustedExtension(System.Type)">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <param name="extensionType">Type of the extension to look for in the response.</param>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned whether they are signed or not.
            Use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.GetExtension(System.Type)" /> method to retrieve
            extension responses only if they are signed by the Provider to
            protect against tampering. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.ClaimedIdentifier">
      <summary>
            Gets the Identifier that the end user claims to own.  For use with user database storage and lookup.
            May be null for some failed authentications (i.e. failed directed identity authentications).
            </summary>
      <remarks>
        <para>
            This is the secure identifier that should be used for database storage and lookup.
            It is not always friendly (i.e. =Arnott becomes =!9B72.7DD1.50A9.5CCD), but it protects
            user identities against spoofing and other attacks.
            </para>
        <para>
            For user-friendly identifiers to display, use the
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.FriendlyIdentifierForDisplay" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.FriendlyIdentifierForDisplay">
      <summary>
            Gets a user-friendly OpenID Identifier for display purposes ONLY.
            </summary>
      <value />
      <remarks>
        <para>
            This <i>should</i> be put through <see cref="M:System.Web.HttpUtility.HtmlEncode(System.String)" /> before
            sending to a browser to secure against javascript injection attacks.
            </para>
        <para>
            This property retains some aspects of the user-supplied identifier that get lost
            in the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.ClaimedIdentifier" />.  For example, XRIs used as user-supplied
            identifiers (i.e. =Arnott) become unfriendly unique strings (i.e. =!9B72.7DD1.50A9.5CCD).
            For display purposes, such as text on a web page that says "You're logged in as ...",
            this property serves to provide the =Arnott string, or whatever else is the most friendly
            string close to what the user originally typed in.
            </para>
        <para>
            If the user-supplied identifier is a URI, this property will be the URI after all
            redirects, and with the protocol and fragment trimmed off.
            If the user-supplied identifier is an XRI, this property will be the original XRI.
            If the user-supplied identifier is an OpenID Provider identifier (i.e. yahoo.com),
            this property will be the Claimed Identifier, with the protocol stripped if it is a URI.
            </para>
        <para>
            It is <b>very</b> important that this property <i>never</i> be used for database storage
            or lookup to avoid identity spoofing and other security risks.  For database storage
            and lookup please use the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.ClaimedIdentifier" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.Status">
      <summary>
            Gets the detailed success or failure status of the authentication attempt.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.Provider">
      <summary>
            Gets information about the OpenId Provider, as advertised by the
            OpenID discovery documents found at the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.ClaimedIdentifier" />
            location.
            </summary>
      <value>
            The Provider endpoint that issued the positive assertion;
            or <c>null</c> if information about the Provider is unavailable.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.Exception">
      <summary>
            Gets the details regarding a failed authentication attempt, if available.
            This will be set if and only if <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.Status" /> is <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus.Failed" />.
            </summary>
      <value />
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.TrustedCallbackArgumentsAvailable">
      <summary>
            Gets a value indicating whether trusted callback arguments are available.
            </summary>
      <remarks>
            We use this internally to avoid logging a warning during a standard snapshot creation.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAnonymousResponse.Response">
      <summary>
            Gets the positive extension-only message the Relying Party received that this instance wraps.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponse">
      <summary>
            Wraps a positive assertion response in an <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse" /> instance
            for public consumption by the host web site.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponse.#ctor(DotNetOpenAuth.OpenId.Messages.PositiveAssertionResponse,DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponse" /> class.
            </summary>
      <param name="response">The positive assertion response that was just received by the Relying Party.</param>
      <param name="relyingParty">The relying party.</param>
      <requires exception="T:System.ArgumentNullException">relyingParty != null</requires>
      <exception cref="T:System.ArgumentNullException">relyingParty == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponse.VerifyDiscoveryMatchesAssertion(DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty)">
      <summary>
            Verifies that the positive assertion data matches the results of
            discovery on the Claimed Identifier.
            </summary>
      <param name="relyingParty">The relying party.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">
            Thrown when the Provider is asserting that a user controls an Identifier
            when discovery on that Identifier contradicts what the Provider says.
            This would be an indication of either a misconfigured Provider or
            an attempt by someone to spoof another user's identity with a rogue Provider.
            </exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponse.ClaimedIdentifier">
      <summary>
            Gets the Identifier that the end user claims to own.  For use with user database storage and lookup.
            May be null for some failed authentications (i.e. failed directed identity authentications).
            </summary>
      <value />
      <remarks>
        <para>
            This is the secure identifier that should be used for database storage and lookup.
            It is not always friendly (i.e. =Arnott becomes =!9B72.7DD1.50A9.5CCD), but it protects
            user identities against spoofing and other attacks.
            </para>
        <para>
            For user-friendly identifiers to display, use the
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponse.FriendlyIdentifierForDisplay" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponse.FriendlyIdentifierForDisplay">
      <summary>
            Gets a user-friendly OpenID Identifier for display purposes ONLY.
            </summary>
      <remarks>
        <para>
            This <i>should</i> be put through <see cref="M:System.Web.HttpUtility.HtmlEncode(System.String)" /> before
            sending to a browser to secure against javascript injection attacks.
            </para>
        <para>
            This property retains some aspects of the user-supplied identifier that get lost
            in the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponse.ClaimedIdentifier" />.  For example, XRIs used as user-supplied
            identifiers (i.e. =Arnott) become unfriendly unique strings (i.e. =!9B72.7DD1.50A9.5CCD).
            For display purposes, such as text on a web page that says "You're logged in as ...",
            this property serves to provide the =Arnott string, or whatever else is the most friendly
            string close to what the user originally typed in.
            </para>
        <para>
            If the user-supplied identifier is a URI, this property will be the URI after all
            redirects, and with the protocol and fragment trimmed off.
            If the user-supplied identifier is an XRI, this property will be the original XRI.
            If the user-supplied identifier is an OpenID Provider identifier (i.e. yahoo.com),
            this property will be the Claimed Identifier, with the protocol stripped if it is a URI.
            </para>
        <para>
            It is <b>very</b> important that this property <i>never</i> be used for database storage
            or lookup to avoid identity spoofing and other security risks.  For database storage
            and lookup please use the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponse.ClaimedIdentifier" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponse.Status">
      <summary>
            Gets the detailed success or failure status of the authentication attempt.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponse.Endpoint">
      <summary>
            Gets the OpenID service endpoint reconstructed from the assertion message.
            </summary>
      <remarks>
            This information is straight from the Provider, and therefore must not
            be trusted until verified as matching the discovery information for
            the claimed identifier to avoid a Provider asserting an Identifier
            for which it has no authority. 
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponse.Response">
      <summary>
            Gets the positive assertion response message.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus">
      <summary>
            An enumeration of the possible results of an authentication attempt.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus.Canceled">
      <summary>
            The authentication was canceled by the user agent while at the provider.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus.Failed">
      <summary>
            The authentication failed because an error was detected in the OpenId communication.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus.SetupRequired">
      <summary>
        <para>The Provider responded to a request for immediate authentication approval
            with a message stating that additional user agent interaction is required
            before authentication can be completed.</para>
        <para>Casting the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse" /> to a 
            <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.ISetupRequiredAuthenticationResponse" /> in this case can help
            you retry the authentication using setup (non-immediate) mode.</para>
      </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus.Authenticated">
      <summary>
            Authentication is completed successfully.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus.ExtensionsOnly">
      <summary>
            The Provider sent a message that did not contain an identity assertion,
            but may carry OpenID extensions.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse">
      <summary>
            Wraps a failed authentication response in an <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse" /> instance
            for public consumption by the host web site.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.#ctor(System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse" /> class.
            </summary>
      <param name="exception">The exception that resulted in the failed authentication.</param>
      <requires exception="T:System.ArgumentNullException">exception != null</requires>
      <exception cref="T:System.ArgumentNullException">exception == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.GetCallbackArguments">
      <summary>
            Gets all the callback arguments that were previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> or as a natural part
            of the return_to URL.
            </summary>
      <returns>A name-value dictionary.  Never null.</returns>
      <remarks>
        <para>This MAY return any argument on the querystring that came with the authentication response,
            which may include parameters not explicitly added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.</para>
        <para>Note that these values are NOT protected against tampering in transit.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.GetUntrustedCallbackArguments">
      <summary>
            Gets all the callback arguments that were previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> or as a natural part
            of the return_to URL.
            </summary>
      <returns>A name-value dictionary.  Never null.</returns>
      <remarks>
            Callback parameters are only available even if the RP is in stateless mode,
            or the callback parameters are otherwise unverifiable as untampered with.
            Therefore, use this method only when the callback argument is not to be
            used to make a security-sensitive decision.
            </remarks>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedCallbackArguments" inheritedFromTypeName="IAuthenticationResponse">Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.GetCallbackArgument(System.String)">
      <summary>
            Gets a callback argument's value that was previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.
            </summary>
      <param name="key">The name of the parameter whose value is sought.</param>
      <returns>
            The value of the argument, or null if the named parameter could not be found.
            </returns>
      <remarks>
        <para>This may return any argument on the querystring that came with the authentication response,
            which may include parameters not explicitly added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.</para>
        <para>Note that these values are NOT protected against tampering in transit.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArgument(System.String)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">!String.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(key)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.GetUntrustedCallbackArgument(System.String)">
      <summary>
            Gets a callback argument's value that was previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.
            </summary>
      <param name="key">The name of the parameter whose value is sought.</param>
      <returns>
            The value of the argument, or null if the named parameter could not be found.
            </returns>
      <remarks>
            Callback parameters are only available even if the RP is in stateless mode,
            or the callback parameters are otherwise unverifiable as untampered with.
            Therefore, use this method only when the callback argument is not to be
            used to make a security-sensitive decision.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedCallbackArgument(System.String)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">!string.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(key)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.GetExtension``1">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <typeparam name="T">The type of extension to look for in the response message.</typeparam>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned only if the Provider signed them.
            Relying parties that do not care if the values were modified in
            transit should use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.GetUntrustedExtension``1" /> method
            in order to allow the Provider to not sign the extension. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.GetExtension(System.Type)">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <param name="extensionType">Type of the extension to look for in the response.</param>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned only if the Provider signed them.
            Relying parties that do not care if the values were modified in
            transit should use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.GetUntrustedExtension(System.Type)" /> method
            in order to allow the Provider to not sign the extension. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.GetUntrustedExtension``1">
      <summary>
            Tries to get an OpenID extension that may be present in the response, without
            requiring it to be signed by the Provider.
            </summary>
      <typeparam name="T">The type of extension to look for in the response message.</typeparam>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned whether they are signed or not.
            Use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.GetExtension``1" /> method to retrieve
            extension responses only if they are signed by the Provider to
            protect against tampering. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.GetUntrustedExtension(System.Type)">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <param name="extensionType">Type of the extension to look for in the response.</param>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned whether they are signed or not.
            Use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.GetExtension(System.Type)" /> method to retrieve
            extension responses only if they are signed by the Provider to
            protect against tampering. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.ClaimedIdentifier">
      <summary>
            Gets the Identifier that the end user claims to own.  For use with user database storage and lookup.
            May be null for some failed authentications (i.e. failed directed identity authentications).
            </summary>
      <value />
      <remarks>
        <para>
            This is the secure identifier that should be used for database storage and lookup.
            It is not always friendly (i.e. =Arnott becomes =!9B72.7DD1.50A9.5CCD), but it protects
            user identities against spoofing and other attacks.
            </para>
        <para>
            For user-friendly identifiers to display, use the
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.FriendlyIdentifierForDisplay" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.FriendlyIdentifierForDisplay">
      <summary>
            Gets a user-friendly OpenID Identifier for display purposes ONLY.
            </summary>
      <value />
      <remarks>
        <para>
            This <i>should</i> be put through <see cref="M:System.Web.HttpUtility.HtmlEncode(System.String)" /> before
            sending to a browser to secure against javascript injection attacks.
            </para>
        <para>
            This property retains some aspects of the user-supplied identifier that get lost
            in the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.ClaimedIdentifier" />.  For example, XRIs used as user-supplied
            identifiers (i.e. =Arnott) become unfriendly unique strings (i.e. =!9B72.7DD1.50A9.5CCD).
            For display purposes, such as text on a web page that says "You're logged in as ...",
            this property serves to provide the =Arnott string, or whatever else is the most friendly
            string close to what the user originally typed in.
            </para>
        <para>
            If the user-supplied identifier is a URI, this property will be the URI after all
            redirects, and with the protocol and fragment trimmed off.
            If the user-supplied identifier is an XRI, this property will be the original XRI.
            If the user-supplied identifier is an OpenID Provider identifier (i.e. yahoo.com),
            this property will be the Claimed Identifier, with the protocol stripped if it is a URI.
            </para>
        <para>
            It is <b>very</b> important that this property <i>never</i> be used for database storage
            or lookup to avoid identity spoofing and other security risks.  For database storage
            and lookup please use the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.ClaimedIdentifier" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.Status">
      <summary>
            Gets the detailed success or failure status of the authentication attempt.
            </summary>
      <value />
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.Provider">
      <summary>
            Gets information about the OpenId Provider, as advertised by the
            OpenID discovery documents found at the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.ClaimedIdentifier" />
            location.
            </summary>
      <value>
            The Provider endpoint that issued the positive assertion;
            or <c>null</c> if information about the Provider is unavailable.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.Exception">
      <summary>
            Gets the details regarding a failed authentication attempt, if available.
            This will be set if and only if <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.FailedAuthenticationResponse.Status" /> is <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus.Failed" />.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract">
      <summary>
            Code contract for the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse" /> type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#GetCallbackArgument(System.String)">
      <summary>
            Gets a callback argument's value that was previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.
            </summary>
      <param name="key">The name of the parameter whose value is sought.</param>
      <returns>
            The value of the argument, or null if the named parameter could not be found.
            </returns>
      <remarks>
        <para>This may return any argument on the querystring that came with the authentication response,
            which may include parameters not explicitly added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.</para>
        <para>Note that these values are NOT protected against tampering in transit.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#GetCallbackArguments">
      <summary>
            Gets all the callback arguments that were previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> or as a natural part
            of the return_to URL.
            </summary>
      <returns>A name-value dictionary.  Never null.</returns>
      <remarks>
        <para>This MAY return any argument on the querystring that came with the authentication response,
            which may include parameters not explicitly added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.</para>
        <para>Note that these values are NOT protected against tampering in transit.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#GetExtension``1">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <typeparam name="T">The type of extension to look for in the response message.</typeparam>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned only if the Provider signed them.
            Relying parties that do not care if the values were modified in
            transit should use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension``1" /> method
            in order to allow the Provider to not sign the extension. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#GetExtension(System.Type)">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <param name="extensionType">Type of the extension to look for in the response.</param>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned only if the Provider signed them.
            Relying parties that do not care if the values were modified in
            transit should use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)" /> method
            in order to allow the Provider to not sign the extension. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#GetUntrustedExtension``1">
      <summary>
            Tries to get an OpenID extension that may be present in the response, without
            requiring it to be signed by the Provider.
            </summary>
      <typeparam name="T">The type of extension to look for in the response message.</typeparam>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned whether they are signed or not.
            Use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension``1" /> method to retrieve
            extension responses only if they are signed by the Provider to
            protect against tampering. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#GetUntrustedExtension(System.Type)">
      <summary>
            Tries to get an OpenID extension that may be present in the response, without
            requiring it to be signed by the Provider.
            </summary>
      <param name="extensionType">Type of the extension to look for in the response.</param>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned whether they are signed or not.
            Use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension(System.Type)" /> method to retrieve
            extension responses only if they are signed by the Provider to
            protect against tampering. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#GetUntrustedCallbackArgument(System.String)">
      <summary>
            Gets a callback argument's value that was previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.
            </summary>
      <param name="key">The name of the parameter whose value is sought.</param>
      <returns>
            The value of the argument, or null if the named parameter could not be found.
            </returns>
      <remarks>
            Callback parameters are only available even if the RP is in stateless mode,
            or the callback parameters are otherwise unverifiable as untampered with.
            Therefore, use this method only when the callback argument is not to be
            used to make a security-sensitive decision.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#GetUntrustedCallbackArguments">
      <summary>
            Gets all the callback arguments that were previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> or as a natural part
            of the return_to URL.
            </summary>
      <returns>A name-value dictionary.  Never null.</returns>
      <remarks>
            Callback parameters are only available even if the RP is in stateless mode,
            or the callback parameters are otherwise unverifiable as untampered with.
            Therefore, use this method only when the callback argument is not to be
            used to make a security-sensitive decision.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#ClaimedIdentifier">
      <summary>
            Gets the Identifier that the end user claims to own.  For use with user database storage and lookup.
            May be null for some failed authentications (i.e. failed directed identity authentications).
            </summary>
      <value />
      <remarks>
        <para>
            This is the secure identifier that should be used for database storage and lookup.
            It is not always friendly (i.e. =Arnott becomes =!9B72.7DD1.50A9.5CCD), but it protects
            user identities against spoofing and other attacks.
            </para>
        <para>
            For user-friendly identifiers to display, use the
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.FriendlyIdentifierForDisplay" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#FriendlyIdentifierForDisplay">
      <summary>
            Gets a user-friendly OpenID Identifier for display purposes ONLY.
            </summary>
      <value />
      <remarks>
        <para>
            This <i>should</i> be put through <see cref="M:System.Web.HttpUtility.HtmlEncode(System.String)" /> before
            sending to a browser to secure against javascript injection attacks.
            </para>
        <para>
            This property retains some aspects of the user-supplied identifier that get lost
            in the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.ClaimedIdentifier" />.  For example, XRIs used as user-supplied
            identifiers (i.e. =Arnott) become unfriendly unique strings (i.e. =!9B72.7DD1.50A9.5CCD).
            For display purposes, such as text on a web page that says "You're logged in as ...",
            this property serves to provide the =Arnott string, or whatever else is the most friendly
            string close to what the user originally typed in.
            </para>
        <para>
            If the user-supplied identifier is a URI, this property will be the URI after all
            redirects, and with the protocol and fragment trimmed off.
            If the user-supplied identifier is an XRI, this property will be the original XRI.
            If the user-supplied identifier is an OpenID Provider identifier (i.e. yahoo.com),
            this property will be the Claimed Identifier, with the protocol stripped if it is a URI.
            </para>
        <para>
            It is <b>very</b> important that this property <i>never</i> be used for database storage
            or lookup to avoid identity spoofing and other security risks.  For database storage
            and lookup please use the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.ClaimedIdentifier" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#Status">
      <summary>
            Gets the detailed success or failure status of the authentication attempt.
            </summary>
      <value />
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#Provider">
      <summary>
            Gets information about the OpenId Provider, as advertised by the
            OpenID discovery documents found at the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.ClaimedIdentifier" />
            location, if available.
            </summary>
      <value>
            The Provider endpoint that issued the positive assertion;
            or <c>null</c> if information about the Provider is unavailable.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#IAuthenticationResponse#Exception">
      <summary>
            Gets the details regarding a failed authentication attempt, if available.
            This will be set if and only if <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.Status" /> is <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus.Failed" />.
            </summary>
      <value />
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.ISetupRequiredAuthenticationResponseContract">
      <summary>
            Code contract class for the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.ISetupRequiredAuthenticationResponse" /> type.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.ISetupRequiredAuthenticationResponseContract.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.ISetupRequiredAuthenticationResponseContract" /> class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.ISetupRequiredAuthenticationResponseContract.DotNetOpenAuth#OpenId#RelyingParty#ISetupRequiredAuthenticationResponse#UserSuppliedIdentifier">
      <summary>
            Gets the <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> to pass to <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequest(DotNetOpenAuth.OpenId.Identifier)" />
            in a subsequent authentication attempt.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.EndpointSelector">
      <summary>
            A delegate that decides whether a given OpenID Provider endpoint may be
            considered for authenticating a user.
            </summary>
      <param name="endpoint">The endpoint for consideration.</param>
      <returns>
        <c>True</c> if the endpoint should be considered.  
            <c>False</c> to remove it from the pool of acceptable providers.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty">
      <summary>
            Provides the programmatic facilities to act as an OpenID relying party.
            </summary>
      <invariant>this.SecuritySettings != null</invariant>
      <invariant>this.Channel != null</invariant>
      <invariant>this.EndpointOrder != null</invariant>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.ApplicationStoreKey">
      <summary>
            The name of the key to use in the HttpApplication cache to store the
            instance of <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.StandardRelyingPartyApplicationStore" /> to use.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.behaviors">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.Behaviors" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.discoveryServices">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.DiscoveryServices" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.nonVerifyingRelyingParty">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.NonVerifyingRelyingParty" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.nonVerifyingRelyingPartyInitLock">
      <summary>
            The lock to obtain when initializing the <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.nonVerifyingRelyingParty" /> member.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.clientScriptExtensions">
      <summary>
            A dictionary of extension response types and the javascript member 
            name to map them to on the user agent.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.securitySettings">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.SecuritySettings" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.endpointOrder">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.EndpointOrder" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.channel">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.Channel" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.#ctor(DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyApplicationStore)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" /> class.
            </summary>
      <param name="applicationStore">The application store.  If <c>null</c>, the relying party will always operate in "dumb mode".</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.#ctor(DotNetOpenAuth.OpenId.IAssociationStore{System.Uri},DotNetOpenAuth.Messaging.Bindings.INonceStore)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" /> class.
            </summary>
      <param name="associationStore">The association store.  If null, the relying party will always operate in "dumb mode".</param>
      <param name="nonceStore">The nonce store to use.  If null, the relying party will always operate in "dumb mode".</param>
      <requires exception="T:System.ArgumentException">associationStore == null || nonceStore != null</requires>
      <exception cref="T:System.ArgumentException">associationStore != null &amp;&amp; nonceStore == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequest(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm,System.Uri)">
      <summary>
            Creates an authentication request to verify that a user controls
            some given Identifier.
            </summary>
      <param name="userSuppliedIdentifier">
            The Identifier supplied by the user.  This may be a URL, an XRI or i-name.
            </param>
      <param name="realm">
            The shorest URL that describes this relying party web site's address.
            For example, if your login page is found at https://www.example.com/login.aspx,
            your realm would typically be https://www.example.com/.
            </param>
      <param name="returnToUrl">
            The URL of the login page, or the page prepared to receive authentication 
            responses from the OpenID Provider.
            </param>
      <returns>
            An authentication request object to customize the request and generate
            an object to send to the user agent to initiate the authentication.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if no OpenID endpoint could be found.</exception>
      <requires exception="T:System.ArgumentNullException">userSuppliedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">userSuppliedIdentifier == null</exception>
      <requires exception="T:System.ArgumentNullException">realm != null</requires>
      <exception cref="T:System.ArgumentNullException">realm == null</exception>
      <requires exception="T:System.ArgumentNullException">returnToUrl != null</requires>
      <exception cref="T:System.ArgumentNullException">returnToUrl == null</exception>
      <ensures>Contract.Result&lt;IAuthenticationRequest&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequest(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm)">
      <summary>
            Creates an authentication request to verify that a user controls
            some given Identifier.
            </summary>
      <param name="userSuppliedIdentifier">
            The Identifier supplied by the user.  This may be a URL, an XRI or i-name.
            </param>
      <param name="realm">
            The shorest URL that describes this relying party web site's address.
            For example, if your login page is found at https://www.example.com/login.aspx,
            your realm would typically be https://www.example.com/.
            </param>
      <returns>
            An authentication request object that describes the HTTP response to
            send to the user agent to initiate the authentication.
            </returns>
      <remarks>
        <para>Requires an <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> context.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if no OpenID endpoint could be found.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> == <c>null</c>.</exception>
      <requires exception="T:System.ArgumentNullException">userSuppliedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">userSuppliedIdentifier == null</exception>
      <requires exception="T:System.ArgumentNullException">realm != null</requires>
      <exception cref="T:System.ArgumentNullException">realm == null</exception>
      <ensures>Contract.Result&lt;IAuthenticationRequest&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequest(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Creates an authentication request to verify that a user controls
            some given Identifier.
            </summary>
      <param name="userSuppliedIdentifier">
            The Identifier supplied by the user.  This may be a URL, an XRI or i-name.
            </param>
      <returns>
            An authentication request object that describes the HTTP response to
            send to the user agent to initiate the authentication.
            </returns>
      <remarks>
        <para>Requires an <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> context.</para>
      </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if no OpenID endpoint could be found.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> == <c>null</c>.</exception>
      <requires exception="T:System.ArgumentNullException">userSuppliedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">userSuppliedIdentifier == null</exception>
      <ensures>Contract.Result&lt;IAuthenticationRequest&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequests(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm,System.Uri)">
      <summary>
            Generates the authentication requests that can satisfy the requirements of some OpenID Identifier.
            </summary>
      <param name="userSuppliedIdentifier">
            The Identifier supplied by the user.  This may be a URL, an XRI or i-name.
            </param>
      <param name="realm">
            The shorest URL that describes this relying party web site's address.
            For example, if your login page is found at https://www.example.com/login.aspx,
            your realm would typically be https://www.example.com/.
            </param>
      <param name="returnToUrl">
            The URL of the login page, or the page prepared to receive authentication 
            responses from the OpenID Provider.
            </param>
      <returns>
            A sequence of authentication requests, any of which constitutes a valid identity assertion on the Claimed Identifier.
            Never null, but may be empty.
            </returns>
      <remarks>
        <para>Any individual generated request can satisfy the authentication.  
            The generated requests are sorted in preferred order.
            Each request is generated as it is enumerated to.  Associations are created only as
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.RedirectingResponse" /> is called.</para>
        <para>No exception is thrown if no OpenID endpoints were discovered.  
            An empty enumerable is returned instead.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">userSuppliedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">userSuppliedIdentifier == null</exception>
      <requires exception="T:System.ArgumentNullException">realm != null</requires>
      <exception cref="T:System.ArgumentNullException">realm == null</exception>
      <requires exception="T:System.ArgumentNullException">returnToUrl != null</requires>
      <exception cref="T:System.ArgumentNullException">returnToUrl == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;IAuthenticationRequest&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequests(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm)">
      <summary>
            Generates the authentication requests that can satisfy the requirements of some OpenID Identifier.
            </summary>
      <param name="userSuppliedIdentifier">
            The Identifier supplied by the user.  This may be a URL, an XRI or i-name.
            </param>
      <param name="realm">
            The shorest URL that describes this relying party web site's address.
            For example, if your login page is found at https://www.example.com/login.aspx,
            your realm would typically be https://www.example.com/.
            </param>
      <returns>
            A sequence of authentication requests, any of which constitutes a valid identity assertion on the Claimed Identifier.
            Never null, but may be empty.
            </returns>
      <remarks>
        <para>Any individual generated request can satisfy the authentication.  
            The generated requests are sorted in preferred order.
            Each request is generated as it is enumerated to.  Associations are created only as
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.RedirectingResponse" /> is called.</para>
        <para>No exception is thrown if no OpenID endpoints were discovered.  
            An empty enumerable is returned instead.</para>
        <para>Requires an <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> context.</para>
      </remarks>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> == <c>null</c>.</exception>
      <requires exception="T:System.InvalidOperationException">HttpContext.Current != null &amp;&amp; HttpContext.Current.Request != null</requires>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null || HttpContext.Current.Request == null</exception>
      <requires exception="T:System.ArgumentNullException">userSuppliedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">userSuppliedIdentifier == null</exception>
      <requires exception="T:System.ArgumentNullException">realm != null</requires>
      <exception cref="T:System.ArgumentNullException">realm == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;IAuthenticationRequest&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequests(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Generates the authentication requests that can satisfy the requirements of some OpenID Identifier.
            </summary>
      <param name="userSuppliedIdentifier">
            The Identifier supplied by the user.  This may be a URL, an XRI or i-name.
            </param>
      <returns>
            A sequence of authentication requests, any of which constitutes a valid identity assertion on the Claimed Identifier.
            Never null, but may be empty.
            </returns>
      <remarks>
        <para>Any individual generated request can satisfy the authentication.  
            The generated requests are sorted in preferred order.
            Each request is generated as it is enumerated to.  Associations are created only as
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.RedirectingResponse" /> is called.</para>
        <para>No exception is thrown if no OpenID endpoints were discovered.  
            An empty enumerable is returned instead.</para>
        <para>Requires an <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> context.</para>
      </remarks>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> == <c>null</c>.</exception>
      <requires exception="T:System.ArgumentNullException">userSuppliedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">userSuppliedIdentifier == null</exception>
      <requires exception="T:System.InvalidOperationException">HttpContext.Current != null &amp;&amp; HttpContext.Current.Request != null</requires>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null || HttpContext.Current.Request == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;IAuthenticationRequest&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.GetResponse">
      <summary>
            Gets an authentication response from a Provider.
            </summary>
      <returns>The processed authentication response if there is any; <c>null</c> otherwise.</returns>
      <remarks>
        <para>Requires an <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> context.</para>
      </remarks>
      <requires exception="T:System.InvalidOperationException">HttpContext.Current != null &amp;&amp; HttpContext.Current.Request != null</requires>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null || HttpContext.Current.Request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.GetResponse(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Gets an authentication response from a Provider.
            </summary>
      <param name="httpRequestInfo">The HTTP request that may be carrying an authentication response from the Provider.</param>
      <returns>The processed authentication response if there is any; <c>null</c> otherwise.</returns>
      <requires exception="T:System.ArgumentNullException">httpRequestInfo != null</requires>
      <exception cref="T:System.ArgumentNullException">httpRequestInfo == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.ProcessResponseFromPopup">
      <summary>
            Processes the response received in a popup window or iframe to an AJAX-directed OpenID authentication.
            </summary>
      <returns>The HTTP response to send to this HTTP request.</returns>
      <remarks>
        <para>Requires an <see cref="P:System.Web.HttpContext.Current">HttpContext.Current</see> context.</para>
      </remarks>
      <requires exception="T:System.InvalidOperationException">HttpContext.Current != null &amp;&amp; HttpContext.Current.Request != null</requires>
      <exception cref="T:System.InvalidOperationException">HttpContext.Current == null || HttpContext.Current.Request == null</exception>
      <ensures>Contract.Result&lt;OutgoingWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.ProcessResponseFromPopup(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Processes the response received in a popup window or iframe to an AJAX-directed OpenID authentication.
            </summary>
      <param name="request">The incoming HTTP request that is expected to carry an OpenID authentication response.</param>
      <returns>The HTTP response to send to this HTTP request.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <ensures>Contract.Result&lt;OutgoingWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.RegisterClientScriptExtension``1(System.String)">
      <summary>
            Allows an OpenID extension to read data out of an unverified positive authentication assertion
            and send it down to the client browser so that Javascript running on the page can perform
            some preprocessing on the extension data.
            </summary>
      <typeparam name="T">The extension <i>response</i> type that will read data from the assertion.</typeparam>
      <param name="propertyName">The property name on the openid_identifier input box object that will be used to store the extension data.  For example: sreg</param>
      <remarks>
            This method should be called before <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.ProcessResponseFromPopup" />.
            </remarks>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(propertyName)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(propertyName)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.IsOpenIdSupportingParameter(System.String)">
      <summary>
            Determines whether some parameter name belongs to OpenID or this library
            as a protocol or internal parameter name.
            </summary>
      <param name="parameterName">Name of the parameter.</param>
      <returns>
        <c>true</c> if the named parameter is a library- or protocol-specific parameter; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateNonVerifying">
      <summary>
            Creates a relying party that does not verify incoming messages against
            nonce or association stores.  
            </summary>
      <returns>The instantiated <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" />.</returns>
      <remarks>
            Useful for previewing messages while
            allowing them to be fully processed and verified later.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.ProcessResponseFromPopup(DotNetOpenAuth.Messaging.HttpRequestInfo,System.Action{DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus})">
      <summary>
            Processes the response received in a popup window or iframe to an AJAX-directed OpenID authentication.
            </summary>
      <param name="request">The incoming HTTP request that is expected to carry an OpenID authentication response.</param>
      <param name="callback">The callback fired after the response status has been determined but before the Javascript response is formulated.</param>
      <returns>
            The HTTP response to send to this HTTP request.
            </returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <ensures>Contract.Result&lt;OutgoingWebResponse&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.Discover(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Performs discovery on the specified identifier.
            </summary>
      <param name="identifier">The identifier to discover services for.</param>
      <returns>A non-null sequence of services discovered for the identifier.</returns>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;IdentifierDiscoveryResult&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.FilterEndpoint(DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint)">
      <summary>
            Checks whether a given OP Endpoint is permitted by the host relying party.
            </summary>
      <param name="endpoint">The OP endpoint.</param>
      <returns>
        <c>true</c> if the OP Endpoint is allowed; <c>false</c> otherwise.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.InvokeParentPageScript(System.String)">
      <summary>
            Invokes a method on a parent frame or window and closes the calling popup window if applicable.
            </summary>
      <param name="methodCall">The method to call on the parent window, including
            parameters.  (i.e. "callback('arg1', 2)").  No escaping is done by this method.</param>
      <returns>The entire HTTP response to send to the popup window or iframe to perform the invocation.</returns>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(methodCall)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(methodCall)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.OnBehaviorsChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
      <summary>
            Called by derived classes when behaviors are added or removed.
            </summary>
      <param name="sender">The collection being modified.</param>
      <param name="e">The <see cref="T:System.Collections.Specialized.NotifyCollectionChangedEventArgs" /> instance containing the event data.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.DefaultEndpointOrder">
      <summary>
            Gets an XRDS sorting routine that uses the XRDS Service/@Priority 
            attribute to determine order.
            </summary>
      <remarks>
            Endpoints lacking any priority value are sorted to the end of the list.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.HttpApplicationStore">
      <summary>
            Gets the standard state storage mechanism that uses ASP.NET's
            HttpApplication state dictionary to store associations and nonces.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;IRelyingPartyApplicationStore&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.Channel">
      <summary>
            Gets or sets the channel to use for sending/receiving messages.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentNullException">value != null</requires>
      </setter>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.SecuritySettings">
      <summary>
            Gets the security settings used by this Relying Party.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;RelyingPartySecuritySettings&gt;() != null</ensures>
      </getter>
      <setter>
        <requires exception="T:System.ArgumentNullException">value != null</requires>
      </setter>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.EndpointFilter">
      <summary>
            Gets or sets the optional Provider Endpoint filter to use.
            </summary>
      <remarks>
            Provides a way to optionally filter the providers that may be used in authenticating a user.
            If provided, the delegate should return true to accept an endpoint, and false to reject it.
            If null, all identity providers will be accepted.  This is the default.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.EndpointOrder">
      <summary>
            Gets or sets the ordering routine that will determine which XRDS 
            Service element to try first 
            </summary>
      <value>Default is <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.DefaultEndpointOrder" />.</value>
      <remarks>
            This may never be null.  To reset to default behavior this property 
            can be set to the value of <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.DefaultEndpointOrder" />.
            </remarks>
      <setter>
        <requires exception="T:System.ArgumentNullException">value != null</requires>
      </setter>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.ExtensionFactories">
      <summary>
            Gets the extension factories.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.Behaviors">
      <summary>
            Gets a list of custom behaviors to apply to OpenID actions.
            </summary>
      <remarks>
            Adding behaviors can impact the security settings of this <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" />
            instance in ways that subsequently removing the behaviors will not reverse.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.DiscoveryServices">
      <summary>
            Gets the list of services that can perform discovery on identifiers given to this relying party.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CanSignCallbackArguments">
      <summary>
            Gets a value indicating whether this Relying Party can sign its return_to
            parameter in outgoing authentication requests.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.WebRequestHandler">
      <summary>
            Gets the web request handler to use for discovery and the part of
            authentication where direct messages are sent to an untrusted remote party.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.AssociationManager">
      <summary>
            Gets the association manager.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.NonVerifyingRelyingParty">
      <summary>
            Gets the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" /> instance used to process authentication responses
            without verifying the assertion or consuming nonces.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.OpenIdStrings">
      <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ResourceManager">
      <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.Culture">
      <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.AbsoluteUriRequired">
      <summary>
              Looks up a localized string similar to An absolute URI is required for this value..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ArgumentIsPpidIdentifier">
      <summary>
              Looks up a localized string similar to This is already a PPID Identifier..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.AssociationOrSessionTypeUnrecognizedOrNotSupported">
      <summary>
              Looks up a localized string similar to The requested association type '{0}' with session type '{1}' is unrecognized or not supported by this Provider due to security requirements..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.AssociationSecretAndTypeLengthMismatch">
      <summary>
              Looks up a localized string similar to The length of the shared secret ({0}) does not match the length required by the association type ('{1}')..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.AssociationSecretHashLengthMismatch">
      <summary>
              Looks up a localized string similar to The length of the encrypted shared secret ({0}) does not match the length of the hashing algorithm ({1})..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.AssociationStoreRequired">
      <summary>
              Looks up a localized string similar to No association store has been given but is required for the current configuration..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.AssociationStoreRequiresNonceStore">
      <summary>
              Looks up a localized string similar to If an association store is given, a nonce store must also be provided..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.AttributeAlreadyAdded">
      <summary>
              Looks up a localized string similar to An attribute with type URI '{0}' has already been added..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.AttributeTooManyValues">
      <summary>
              Looks up a localized string similar to Only {0} values for attribute '{1}' were requested, but {2} were supplied..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.BadAssociationPrivateData">
      <summary>
              Looks up a localized string similar to The private data supplied does not meet the requirements of any known Association type.  Its length may be too short, or it may have been corrupted..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.BadExtension">
      <summary>
              Looks up a localized string similar to The {0} extension failed to deserialize and will be skipped.  {1}.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.CallbackArgumentsRequireSecretStore">
      <summary>
              Looks up a localized string similar to Callback arguments are only supported when a {0} is provided to the {1}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.CallDeserializeBeforeCreateResponse">
      <summary>
              Looks up a localized string similar to A Simple Registration request can only generate a response on the receiving end..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ClaimedIdAndLocalIdMustBothPresentOrAbsent">
      <summary>
              Looks up a localized string similar to The openid.claimed_id and openid.identity parameters must both be present or both be absent..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ClaimedIdentifierCannotBeSetOnDelegatedAuthentication">
      <summary>
              Looks up a localized string similar to The ClaimedIdentifier property cannot be set when IsDelegatedIdentifier is true to avoid breaking OpenID URL delegation..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ClaimedIdentifierDefiesDotNetNormalization">
      <summary>
              Looks up a localized string similar to This OpenID exploits features that this relying party cannot reliably verify.  Please try logging in with a human-readable OpenID or from a different OpenID Provider..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ClaimedIdentifierMustBeSetFirst">
      <summary>
              Looks up a localized string similar to The ClaimedIdentifier property must be set first..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ClientScriptExtensionPropertyNameCollision">
      <summary>
              Looks up a localized string similar to An extension with this property name ('{0}') has already been registered..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ClientScriptExtensionTypeCollision">
      <summary>
              Looks up a localized string similar to The extension '{0}' has already been registered..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.CreateRequestAlreadyCalled">
      <summary>
              Looks up a localized string similar to An authentication request has already been created using CreateRequest()..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.DelegatingIdentifiersNotAllowed">
      <summary>
              Looks up a localized string similar to Only OpenIDs issued directly by their OpenID Provider are allowed here..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.DiffieHellmanAssociationRequired">
      <summary>
              Looks up a localized string similar to The associate request instance must be a Diffie-Hellman instance..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.DiffieHellmanRequiredPropertiesNotSet">
      <summary>
              Looks up a localized string similar to The following properties must be set before the Diffie-Hellman algorithm can generate a public key: {0}.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ExplicitHttpUriSuppliedWithSslRequirement">
      <summary>
              Looks up a localized string similar to URI is not SSL yet requireSslDiscovery is set to true..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ExtensionAlreadyAddedWithSameTypeURI">
      <summary>
              Looks up a localized string similar to An extension sharing namespace '{0}' has already been added.  Only one extension per namespace is allowed in a given request..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ExtensionLookupSupportUnavailable">
      <summary>
              Looks up a localized string similar to Cannot lookup extension support on a rehydrated ServiceEndpoint..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.FragmentNotAllowedOnXRIs">
      <summary>
              Looks up a localized string similar to Fragment segments do not apply to XRI identifiers..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.HeadTagMustIncludeRunatServer">
      <summary>
              Looks up a localized string similar to The HTML head tag must include runat="server"..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.IdentifierSelectRequiresMatchingIdentifiers">
      <summary>
              Looks up a localized string similar to ClaimedIdentifier and LocalIdentifier must be the same when IsIdentifierSelect is true..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.IdentityAndClaimedIdentifierMustBeBothPresentOrAbsent">
      <summary>
              Looks up a localized string similar to The openid.identity and openid.claimed_id parameters must either be both present or both absent from the message..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.IncompatibleAssociationAndSessionTypes">
      <summary>
              Looks up a localized string similar to The Provider requested association type '{0}' and session type '{1}', which are not compatible with each other..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.IndirectErrorFormattedMessage">
      <summary>
              Looks up a localized string similar to {0} (Contact: {1}, Reference: {2}).
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.InvalidCharacterInKeyValueFormInput">
      <summary>
              Looks up a localized string similar to Cannot encode '{0}' because it contains an illegal character for Key-Value Form encoding.  (line {1}: '{2}').
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.InvalidDSig">
      <summary>
              Looks up a localized string similar to Invalid XmlDSig signature on XRDS document..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.InvalidKeyValueFormCharacterMissing">
      <summary>
              Looks up a localized string similar to Cannot decode Key-Value Form because a line was found without a '{0}' character.  (line {1}: '{2}').
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.InvalidScheme">
      <summary>
              Looks up a localized string similar to The scheme must be http or https but was '{0}'..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.InvalidUri">
      <summary>
              Looks up a localized string similar to The value '{0}' is not a valid URI..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.InvalidXri">
      <summary>
              Looks up a localized string similar to Not a recognized XRI format..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.IssuedAssertionFailsIdentifierDiscovery">
      <summary>
               Looks up a localized string similar to The OpenID Provider issued an assertion for an Identifier whose discovery information did not match.  
            Assertion endpoint info: 
            {0}
            Discovered endpoint info:
            {1}.
             </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.KeysListAndDictionaryDoNotMatch">
      <summary>
              Looks up a localized string similar to The list of keys do not match the provided dictionary..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.MatchingArgumentsExpected">
      <summary>
              Looks up a localized string similar to The '{0}' and '{1}' parameters must both be or not be '{2}'..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.MaximumAuthenticationTimeExpired">
      <summary>
              Looks up a localized string similar to The maximum time allowed to complete authentication has been exceeded.  Please try again..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.MisdirectedSigningCertificate">
      <summary>
              Looks up a localized string similar to X.509 signing certificate issued to {0}, but a certificate for {1} was expected..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.MissingElement">
      <summary>
              Looks up a localized string similar to Missing {0} element..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.NoAssociationTypeFoundByLength">
      <summary>
              Looks up a localized string similar to No recognized association type matches the requested length of {0}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.NoAssociationTypeFoundByName">
      <summary>
              Looks up a localized string similar to No recognized association type matches the requested name of '{0}'..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.NoEncryptionSessionRequiresHttps">
      <summary>
              Looks up a localized string similar to Unless using transport layer encryption, "no-encryption" MUST NOT be used..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.NoIdentifierSet">
      <summary>
              Looks up a localized string similar to No identifier has been set..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.NoRelyingPartyEndpointDiscovered">
      <summary>
              Looks up a localized string similar to No XRDS document containing OpenID relying party endpoint information could be found at {0}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.NoSessionTypeFound">
      <summary>
              Looks up a localized string similar to Diffie-Hellman session type '{0}' not found for OpenID {1}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.NotSupportedByAuthenticationSnapshot">
      <summary>
              Looks up a localized string similar to This operation is not supported by serialized authentication responses.  Try this operation from the LoggedIn event handler..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.OpenIdEndpointNotFound">
      <summary>
              Looks up a localized string similar to No OpenID endpoint found..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.OpenIdTextBoxEmpty">
      <summary>
              Looks up a localized string similar to No OpenID url is provided..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.OperationOnlyValidForSetupRequiredState">
      <summary>
              Looks up a localized string similar to This operation is only allowed when IAuthenticationResponse.State == AuthenticationStatus.SetupRequired..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.PopupRedirectMissingResponse">
      <summary>
              Looks up a localized string similar to OpenID popup window or iframe did not recognize an OpenID response in the request..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.PositiveAssertionFromNonQualifiedProvider">
      <summary>
              Looks up a localized string similar to An positive OpenID assertion was received from OP endpoint {0} and was rejected based on this site's security settings..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.PrivateRPSecretNotFound">
      <summary>
              Looks up a localized string similar to Unable to find the signing secret by the handle '{0}'..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.PropertyNotSet">
      <summary>
              Looks up a localized string similar to The {0} property must be set first..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.PropertyValueNotSupported">
      <summary>
              Looks up a localized string similar to This property value is not supported by this control..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ProviderVersionUnrecognized">
      <summary>
              Looks up a localized string similar to Unable to determine the version of the OpenID protocol implemented by the Provider at endpoint '{0}'..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.RealmCausedRedirectUponDiscovery">
      <summary>
              Looks up a localized string similar to An HTTP request to the realm URL ({0}) resulted in a redirect, which is not allowed during relying party discovery..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.RequireSslNotSatisfiedByAssertedClaimedId">
      <summary>
              Looks up a localized string similar to Sorry.  This site only accepts OpenIDs that are HTTPS-secured, but {0} is not a secure Identifier..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ResponseNotReady">
      <summary>
              Looks up a localized string similar to The response is not ready.  Use IsResponseReady to check whether a response is ready first..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ReturnToNotUnderRealm">
      <summary>
              Looks up a localized string similar to return_to '{0}' not under realm '{1}'..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ReturnToParamDoesNotMatchRequestUrl">
      <summary>
              Looks up a localized string similar to The {0} parameter ({1}) does not match the actual URL ({2}) the request was made with..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ReturnToRequiredForOperation">
      <summary>
              Looks up a localized string similar to The ReturnTo property must not be null to support this operation..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.ReturnToRequiredForResponse">
      <summary>
              Looks up a localized string similar to The openid.return_to parameter is required in the request message in order to construct a response, but that parameter was missing..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.SignatureDoesNotIncludeMandatoryParts">
      <summary>
              Looks up a localized string similar to The following parameter(s) are not included in the signature but must be: {0}.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.SregInvalidBirthdate">
      <summary>
              Looks up a localized string similar to Invalid birthdate value.  Must be in the form yyyy-MM-dd..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.TypeMustImplementX">
      <summary>
              Looks up a localized string similar to The type must implement {0}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.UnexpectedEnumPropertyValue">
      <summary>
              Looks up a localized string similar to The property {0} had unexpected value {1}..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.UnexpectedHttpStatusCode">
      <summary>
              Looks up a localized string similar to Unexpected HTTP status code {0} {1} received in direct response..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.UnsolicitedAssertionForUnrelatedClaimedIdentifier">
      <summary>
              Looks up a localized string similar to An unsolicited assertion cannot be sent for the claimed identifier {0} because this is not an authorized Provider for that identifier..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.UnsolicitedAssertionRejectionRequiresNonceStore">
      <summary>
              Looks up a localized string similar to Rejecting unsolicited assertions requires a nonce store and an association store..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.UnsolicitedAssertionsNotAllowed">
      <summary>
              Looks up a localized string similar to Unsolicited assertions are not allowed at this relying party..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.UnsolicitedAssertionsNotAllowedFrom1xOPs">
      <summary>
              Looks up a localized string similar to Unsolicited assertions are not allowed from 1.0 OpenID Providers..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.UnspecifiedDateTimeKindNotAllowed">
      <summary>
              Looks up a localized string similar to Providing a DateTime whose Kind is Unspecified is not allowed..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.UnsupportedCanonicalizationMethod">
      <summary>
              Looks up a localized string similar to Unrecognized or missing canonicalization method..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.UnsupportedChannelConfiguration">
      <summary>
              Looks up a localized string similar to This feature is unavailable due to an unrecognized channel configuration..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.UnsupportedSignatureMethod">
      <summary>
              Looks up a localized string similar to Unrecognized or missing signature method..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.UserSetupUrlRequiredInImmediateNegativeResponse">
      <summary>
              Looks up a localized string similar to The openid.user_setup_url parameter is required when sending negative assertion messages in response to immediate mode requests..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.X509CertificateNotTrusted">
      <summary>
              Looks up a localized string similar to The X.509 certificate used to sign this document is not trusted..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.XriResolutionDisabled">
      <summary>
              Looks up a localized string similar to XRI support has been disabled at this site..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.OpenIdStrings.XriResolutionFailed">
      <summary>
              Looks up a localized string similar to XRI resolution failed..
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ProtocolVersion">
      <summary>
            An enumeration of the OpenID protocol versions supported by this library.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ProtocolVersion.V10">
      <summary>
            OpenID Authentication 1.0
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ProtocolVersion.V11">
      <summary>
            OpenID Authentication 1.1
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.ProtocolVersion.V20">
      <summary>
            OpenID Authentication 2.0
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Protocol">
      <summary>
            Tracks the several versions of OpenID this library supports and the unique
            constants to each version used in the protocol.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.OpenId2Namespace">
      <summary>
            The value of the openid.ns parameter in the OpenID 2.0 specification.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Protocol.FindBestVersion``1(System.Func{DotNetOpenAuth.OpenId.Protocol,``0},System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Scans a list for matches with some element of the OpenID protocol,
            searching from newest to oldest protocol for the first and best match.
            </summary>
      <typeparam name="T">The type of element retrieved from the <see cref="T:DotNetOpenAuth.OpenId.Protocol" /> instance.</typeparam>
      <param name="elementOf">Takes a <see cref="T:DotNetOpenAuth.OpenId.Protocol" /> instance and returns an element of it.</param>
      <param name="list">The list to scan for matches.</param>
      <returns>The protocol with the element that matches some item in the list.</returns>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.AllVersions">
      <summary>
            A list of all supported OpenID versions, in order starting from newest version.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.AllPracticalVersions">
      <summary>
            A list of all supported OpenID versions, in order starting from newest version.
            V1.1 and V1.0 are considered the same and only V1.1 is in the list.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.Default">
      <summary>
            The default (or most recent) supported version of the OpenID protocol.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Protocol.Detect(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Attempts to detect the right OpenID protocol version based on the contents
            of an incoming OpenID <i>indirect</i> message or <i>direct request</i>.
            </summary>
      <requires exception="T:System.ArgumentNullException">query != null</requires>
      <exception cref="T:System.ArgumentNullException">query == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Protocol.DetectFromDirectResponse(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Attempts to detect the right OpenID protocol version based on the contents
            of an incoming OpenID <i>direct</i> response message.
            </summary>
      <requires exception="T:System.ArgumentNullException">query != null</requires>
      <exception cref="T:System.ArgumentNullException">query == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Protocol.Detect(System.Collections.Generic.IEnumerable{System.String})">
      <summary>
            Attemps to detect the highest OpenID protocol version supported given a set
            of XRDS Service Type URIs included for some service.
            </summary>
      <requires exception="T:System.ArgumentNullException">serviceTypeURIs != null</requires>
      <exception cref="T:System.ArgumentNullException">serviceTypeURIs == null</exception>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.Version">
      <summary>
            The OpenID version that this <see cref="T:DotNetOpenAuth.OpenId.Protocol" /> instance describes.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.XmlNamespace">
      <summary>
            The namespace of OpenId 1.x elements in XRDS documents.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.QueryDeclaredNamespaceVersion">
      <summary>
            The value of the openid.ns parameter that appears on the query string
            whenever data is passed between relying party and provider for OpenID 2.0
            and later.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.ClaimedIdentifierServiceTypeURI">
      <summary>
            The XRD/Service/Type value discovered in an XRDS document when
            "discovering" on a Claimed Identifier (http://andrewarnott.yahoo.com)
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.OPIdentifierServiceTypeURI">
      <summary>
            The XRD/Service/Type value discovered in an XRDS document when
            "discovering" on an OP Identifier rather than a Claimed Identifier.
            (http://yahoo.com)
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.RPReturnToTypeURI">
      <summary>
            The XRD/Service/Type value discovered in an XRDS document when
            "discovering" on a Realm URL and looking for the endpoint URL
            that can receive authentication assertions.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.ClaimedIdentifierForOPIdentifier">
      <summary>
            Used as the Claimed Identifier and the OP Local Identifier when
            the User Supplied Identifier is an OP Identifier.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.HtmlDiscoveryProviderKey">
      <summary>
            The value of the 'rel' attribute in an HTML document's LINK tag
            when the same LINK tag's HREF attribute value contains the URL to an
            OP Endpoint URL.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.HtmlDiscoveryLocalIdKey">
      <summary>
            The value of the 'rel' attribute in an HTML document's LINK tag
            when the same LINK tag's HREF attribute value contains the URL to use
            as the OP Local Identifier.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.openid">
      <summary>
            Parts of the protocol that define parameter names that appear in the 
            query string.  Each parameter name is prefixed with 'openid.'.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.openidnp">
      <summary>
            Parts of the protocol that define parameter names that appear in the 
            query string.  Each parameter name is NOT prefixed with 'openid.'.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.Args">
      <summary>
            The various 'constants' that appear as parameter arguments (values).
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.MaximumUserAgentAuthenticationTime">
      <summary>
            The maximum time a user can be allowed to take to complete authentication.
            </summary>
      <remarks>
            This is used to calculate the length of time that nonces are stored.
            This is internal until we can decide whether to leave this static, or make
            it an instance member, or put it inside the IConsumerApplicationStore interface.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.MaximumAllowableTimeSkew">
      <summary>
            The maximum permissible difference in clocks between relying party and 
            provider web servers, discounting time zone differences.
            </summary>
      <remarks>
            This is used when storing/validating nonces from the provider.
            If it is conceivable that a server's clock could be up to five minutes
            off from true UTC time, then the maximum time skew should be set to 
            ten minutes to allow one server to be five minutes ahead and the remote
            server to be five minutes behind and still be able to communicate.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Protocol.EqualsPractically(DotNetOpenAuth.OpenId.Protocol)">
      <summary>
            Checks whether a given Protocol version practically equals this one
            for purposes of verifying a match for assertion verification.
            </summary>
      <param name="other">The other version to check against this one.</param>
      <returns>
        <c>true</c> if this and the given Protocol versions are essentially the same.</returns>
      <remarks>
            OpenID v1.0 never had a spec, and 1.0 and 1.1 are indistinguishable because of that.
            Therefore for assertion verification, 1.0 and 1.1 are considered equivalent.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Protocol.ProtocolVersion">
      <summary>
            Returns the <see cref="P:DotNetOpenAuth.OpenId.Protocol.ProtocolVersion" /> enum value for the <see cref="T:DotNetOpenAuth.OpenId.Protocol" /> instance.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Protocol.QueryParameters.Prefix">
      <summary>
            The value "openid."
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Protocol.QueryParameters.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Protocol.QueryArguments.SessionTypes.All">
      <summary>
            A preference order list of all supported session types.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Protocol.QueryArguments.SignatureAlgorithms.All">
      <summary>
            A preference order list of signature algorithms we support.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.ProviderEndpointDescription">
      <summary>
            Describes some OpenID Provider endpoint and its capabilities.
            </summary>
      <remarks>
            This is an immutable type.
            </remarks>
      <invariant>this.Capabilities != null</invariant>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ProviderEndpointDescription.#ctor(System.Uri,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ProviderEndpointDescription" /> class.
            </summary>
      <param name="providerEndpoint">The OpenID Provider endpoint URL.</param>
      <param name="openIdVersion">The OpenID version supported by this particular endpoint.</param>
      <requires exception="T:System.ArgumentNullException">providerEndpoint != null</requires>
      <exception cref="T:System.ArgumentNullException">providerEndpoint == null</exception>
      <requires exception="T:System.ArgumentNullException">openIdVersion != null</requires>
      <exception cref="T:System.ArgumentNullException">openIdVersion == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ProviderEndpointDescription.#ctor(System.Uri,System.Collections.Generic.IEnumerable{System.String})">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.ProviderEndpointDescription" /> class.
            </summary>
      <param name="providerEndpoint">The URI the provider listens on for OpenID requests.</param>
      <param name="serviceTypeURIs">The set of services offered by this endpoint.</param>
      <requires exception="T:System.ArgumentNullException">providerEndpoint != null</requires>
      <exception cref="T:System.ArgumentNullException">providerEndpoint == null</exception>
      <requires exception="T:System.ArgumentNullException">serviceTypeURIs != null</requires>
      <exception cref="T:System.ArgumentNullException">serviceTypeURIs == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ProviderEndpointDescription.DotNetOpenAuth#OpenId#RelyingParty#IProviderEndpoint#IsExtensionSupported``1">
      <summary>
            Checks whether the OpenId Identifier claims support for a given extension.
            </summary>
      <typeparam name="T">The extension whose support is being queried.</typeparam>
      <returns>
            True if support for the extension is advertised.  False otherwise.
            </returns>
      <remarks>
            Note that a true or false return value is no guarantee of a Provider's
            support for or lack of support for an extension.  The return value is
            determined by how the authenticating user filled out his/her XRDS document only.
            The only way to be sure of support for a given extension is to include
            the extension in the request and see if a response comes back for that extension.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ProviderEndpointDescription.DotNetOpenAuth#OpenId#RelyingParty#IProviderEndpoint#IsExtensionSupported(System.Type)">
      <summary>
            Checks whether the OpenId Identifier claims support for a given extension.
            </summary>
      <param name="extensionType">The extension whose support is being queried.</param>
      <returns>
            True if support for the extension is advertised.  False otherwise.
            </returns>
      <remarks>
            Note that a true or false return value is no guarantee of a Provider's
            support for or lack of support for an extension.  The return value is
            determined by how the authenticating user filled out his/her XRDS document only.
            The only way to be sure of support for a given extension is to include
            the extension in the request and see if a response comes back for that extension.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.IsExtensionSupported(System.Type)" inheritedFromTypeName="IProviderEndpoint" exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.IsExtensionSupported(System.Type)" inheritedFromTypeName="IProviderEndpoint" exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.ProviderEndpointDescription.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ProviderEndpointDescription.Uri">
      <summary>
            Gets the URL that the OpenID Provider listens for incoming OpenID messages on.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.get_Uri" inheritedFromTypeName="IProviderEndpoint">Contract.Result&lt;Uri&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ProviderEndpointDescription.Version">
      <summary>
            Gets the OpenID protocol version this endpoint supports.
            </summary>
      <remarks>
            If an endpoint supports multiple versions, each version must be represented
            by its own <see cref="T:DotNetOpenAuth.OpenId.ProviderEndpointDescription" /> object.
            </remarks>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.get_Version" inheritedFromTypeName="IProviderEndpoint">Contract.Result&lt;Version&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.ProviderEndpointDescription.Capabilities">
      <summary>
            Gets the collection of service type URIs found in the XRDS document describing this Provider.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings">
      <summary>
            Security settings that are applicable to providers.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.SecuritySettings">
      <summary>
            Security settings that may be applicable to both relying parties and providers.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.SecuritySettings.MinimumHashBitLengthDefault">
      <summary>
            Gets the default minimum hash bit length.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.SecuritySettings.MaximumHashBitLengthRPDefault">
      <summary>
            Gets the maximum hash bit length default for relying parties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.SecuritySettings.MaximumHashBitLengthOPDefault">
      <summary>
            Gets the maximum hash bit length default for providers.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.SecuritySettings.#ctor(System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.SecuritySettings" /> class.
            </summary>
      <param name="isProvider">A value indicating whether this class is being instantiated for a Provider.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.SecuritySettings.IsAssociationInPermittedRange(DotNetOpenAuth.OpenId.Protocol,System.String)">
      <summary>
            Determines whether a named association fits the security requirements.
            </summary>
      <param name="protocol">The protocol carrying the association.</param>
      <param name="associationType">The value of the openid.assoc_type parameter.</param>
      <returns>
        <c>true</c> if the association is permitted given the security requirements; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.SecuritySettings.IsAssociationInPermittedRange(DotNetOpenAuth.OpenId.Association)">
      <summary>
            Determines whether a given association fits the security requirements.
            </summary>
      <param name="association">The association to check.</param>
      <returns>
        <c>true</c> if the association is permitted given the security requirements; otherwise, <c>false</c>.
            </returns>
      <requires exception="T:System.ArgumentNullException">association != null</requires>
      <exception cref="T:System.ArgumentNullException">association == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.SecuritySettings.MinimumHashBitLength">
      <summary>
            Gets or sets the minimum hash length (in bits) allowed to be used in an <see cref="T:DotNetOpenAuth.OpenId.Association" />
            with the remote party.  The default is 160.
            </summary>
      <remarks>
            SHA-1 (160 bits) has been broken.  The minimum secure hash length is now 256 bits.
            The default is still a 160 bit minimum to allow interop with common remote parties,
            such as Yahoo! that only supports 160 bits.  
            For sites that require high security such as to store bank account information and 
            health records, 256 is the recommended value.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.SecuritySettings.MaximumHashBitLength">
      <summary>
            Gets or sets the maximum hash length (in bits) allowed to be used in an <see cref="T:DotNetOpenAuth.OpenId.Association" />
            with the remote party.  The default is 256 for relying parties and 512 for providers.
            </summary>
      <remarks>
            The longer the bit length, the more secure the identities of your visitors are.
            Setting a value higher than 256 on a relying party site may reduce performance
            as many association requests will be denied, causing secondary requests or even
            authentication failures.
            Setting a value higher than 256 on a provider increases security where possible
            without these side-effects.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.ProtectDownlevelReplayAttacksDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.ProtectDownlevelReplayAttacks" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.SignOutgoingExtensionsDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.SignOutgoingExtensions" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.UnsolicitedAssertionVerificationDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.UnsolicitedAssertionVerification" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.associationLifetimes">
      <summary>
            The subset of association types and their customized lifetimes.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.Clone">
      <summary>
            Creates a deep clone of this instance.
            </summary>
      <returns>A new instance that is a deep clone of this instance.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.AssociationLifetimes">
      <summary>
            Gets a subset of the available association types and their
            customized maximum lifetimes.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.RequireSsl">
      <summary>
            Gets or sets a value indicating whether Relying Party discovery will only
            succeed if done over a secure HTTPS channel.
            </summary>
      <value>Default is <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.UnsolicitedAssertionVerification">
      <summary>
            Gets or sets the level of verification a Provider performs on an identifier before
            sending an unsolicited assertion for it.
            </summary>
      <value>The default value is <see cref="F:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.UnsolicitedAssertionVerificationLevel.RequireSuccess" />.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.ProtectDownlevelReplayAttacks">
      <summary>
            Gets or sets a value indicating whether OpenID 1.x relying parties that may not be
            protecting their users from replay attacks are protected from
            replay attacks by this provider.
            </summary>
      <value>The default value is <c>true</c>.</value>
      <remarks>
        <para>Nonces for protection against replay attacks were not mandated
            by OpenID 1.x, which leaves users open to replay attacks.</para>
        <para>This feature works by preventing associations from being used
            with OpenID 1.x relying parties, thereby forcing them into
            "dumb" mode and verifying every claim with this provider.
            This gives the provider an opportunity to verify its own nonce
            to protect against replay attacks.</para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.SignOutgoingExtensions">
      <summary>
            Gets or sets a value indicating whether outgoing extensions are always signed.
            </summary>
      <value>
        <c>true</c> if outgoing extensions should be signed; otherwise, <c>false</c>.
            	The default is <c>true</c>.
            </value>
      <remarks>
            This property is internal because Providers should never turn it off, but it is
            needed for testing the RP's rejection of unsigned extensions.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.UnsolicitedAssertionVerificationLevel">
      <summary>
            The behavior a Provider takes when verifying that it is authoritative for an
            identifier it is about to send an unsolicited assertion for.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.UnsolicitedAssertionVerificationLevel.RequireSuccess">
      <summary>
            Always verify that the Provider is authoritative for an identifier before
            sending an unsolicited assertion for it and fail if it is not.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.UnsolicitedAssertionVerificationLevel.LogWarningOnFailure">
      <summary>
            Always check that the Provider is authoritative for an identifier before
            sending an unsolicited assertion for it, but only log failures, and proceed
            to send the unsolicited assertion.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings.UnsolicitedAssertionVerificationLevel.NeverVerify">
      <summary>
            Never verify that the Provider is authoritative for an identifier before
            sending an unsolicited assertion for it.
            </summary>
      <remarks>
            This setting is useful for web servers that refuse to allow a Provider to
            introspectively perform an HTTP GET on itself, when sending unsolicited assertions
            for identifiers that the OP controls.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyApplicationStore">
      <summary>
            A hybrid of all the store interfaces that a Relying Party requires in order
            to operate in "smart" mode.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot">
      <summary>
            A serializable snapshot of a verified authentication message.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.callbackArguments">
      <summary>
            The callback arguments that came with the authentication response.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.untrustedCallbackArguments">
      <summary>
            The untrusted callback arguments that came with the authentication response.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.#ctor(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot" /> class.
            </summary>
      <param name="copyFrom">The authentication response to copy from.</param>
      <requires exception="T:System.ArgumentNullException">copyFrom != null</requires>
      <exception cref="T:System.ArgumentNullException">copyFrom == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.GetExtension``1">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <typeparam name="T">The type of extension to look for in the response message.</typeparam>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned only if the Provider signed them.
            Relying parties that do not care if the values were modified in
            transit should use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.GetUntrustedExtension``1" /> method
            in order to allow the Provider to not sign the extension. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.GetExtension(System.Type)">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <param name="extensionType">Type of the extension to look for in the response.</param>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned only if the Provider signed them.
            Relying parties that do not care if the values were modified in
            transit should use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.GetUntrustedExtension(System.Type)" /> method
            in order to allow the Provider to not sign the extension. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.GetUntrustedExtension``1">
      <summary>
            Tries to get an OpenID extension that may be present in the response, without
            requiring it to be signed by the Provider.
            </summary>
      <typeparam name="T">The type of extension to look for in the response message.</typeparam>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned whether they are signed or not.
            Use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.GetExtension``1" /> method to retrieve
            extension responses only if they are signed by the Provider to
            protect against tampering. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.GetUntrustedExtension(System.Type)">
      <summary>
            Tries to get an OpenID extension that may be present in the response.
            </summary>
      <param name="extensionType">Type of the extension to look for in the response.</param>
      <returns>
            The extension, if it is found.  Null otherwise.
            </returns>
      <remarks>
        <para>Extensions are returned whether they are signed or not.
            Use the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.GetExtension(System.Type)" /> method to retrieve
            extension responses only if they are signed by the Provider to
            protect against tampering. </para>
        <para>Unsigned extensions are completely unreliable and should be
            used only to prefill user forms since the user or any other third
            party may have tampered with the data carried by the extension.</para>
        <para>Signed extensions are only reliable if the relying party
            trusts the OpenID Provider that signed them.  Signing does not mean
            the relying party can trust the values -- it only means that the values
            have not been tampered with since the Provider sent the message.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.GetCallbackArguments">
      <summary>
            Gets all the callback arguments that were previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> or as a natural part
            of the return_to URL.
            </summary>
      <returns>A name-value dictionary.  Never null.</returns>
      <remarks>
        <para>This MAY return any argument on the querystring that came with the authentication response,
            which may include parameters not explicitly added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.</para>
        <para>Note that these values are NOT protected against tampering in transit.</para>
      </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.GetUntrustedCallbackArguments">
      <summary>
            Gets all the callback arguments that were previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" /> or as a natural part
            of the return_to URL.
            </summary>
      <returns>A name-value dictionary.  Never null.</returns>
      <remarks>
            Callback parameters are only available even if the RP is in stateless mode,
            or the callback parameters are otherwise unverifiable as untampered with.
            Therefore, use this method only when the callback argument is not to be
            used to make a security-sensitive decision.
            </remarks>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedCallbackArguments" inheritedFromTypeName="IAuthenticationResponse">Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.GetCallbackArgument(System.String)">
      <summary>
            Gets a callback argument's value that was previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.
            </summary>
      <param name="key">The name of the parameter whose value is sought.</param>
      <returns>
            The value of the argument, or null if the named parameter could not be found.
            </returns>
      <remarks>
        <para>This may return any argument on the querystring that came with the authentication response,
            which may include parameters not explicitly added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.</para>
        <para>Note that these values are NOT protected against tampering in transit.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetCallbackArgument(System.String)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">!String.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(key)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.GetUntrustedCallbackArgument(System.String)">
      <summary>
            Gets a callback argument's value that was previously added using
            <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.AddCallbackArguments(System.String,System.String)" />.
            </summary>
      <param name="key">The name of the parameter whose value is sought.</param>
      <returns>
            The value of the argument, or null if the named parameter could not be found.
            </returns>
      <remarks>
            Callback parameters are only available even if the RP is in stateless mode,
            or the callback parameters are otherwise unverifiable as untampered with.
            Therefore, use this method only when the callback argument is not to be
            used to make a security-sensitive decision.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedCallbackArgument(System.String)" inheritedFromTypeName="IAuthenticationResponse" exception="T:System.ArgumentException">!string.IsNullOrEmpty(key)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(key)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.ClaimedIdentifier">
      <summary>
            Gets the Identifier that the end user claims to own.  For use with user database storage and lookup.
            May be null for some failed authentications (i.e. failed directed identity authentications).
            </summary>
      <value />
      <remarks>
        <para>
            This is the secure identifier that should be used for database storage and lookup.
            It is not always friendly (i.e. =Arnott becomes =!9B72.7DD1.50A9.5CCD), but it protects
            user identities against spoofing and other attacks.
            </para>
        <para>
            For user-friendly identifiers to display, use the
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.FriendlyIdentifierForDisplay" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.FriendlyIdentifierForDisplay">
      <summary>
            Gets a user-friendly OpenID Identifier for display purposes ONLY.
            </summary>
      <value />
      <remarks>
        <para>
            This <i>should</i> be put through <see cref="M:System.Web.HttpUtility.HtmlEncode(System.String)" /> before
            sending to a browser to secure against javascript injection attacks.
            </para>
        <para>
            This property retains some aspects of the user-supplied identifier that get lost
            in the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.ClaimedIdentifier" />.  For example, XRIs used as user-supplied
            identifiers (i.e. =Arnott) become unfriendly unique strings (i.e. =!9B72.7DD1.50A9.5CCD).
            For display purposes, such as text on a web page that says "You're logged in as ...",
            this property serves to provide the =Arnott string, or whatever else is the most friendly
            string close to what the user originally typed in.
            </para>
        <para>
            If the user-supplied identifier is a URI, this property will be the URI after all
            redirects, and with the protocol and fragment trimmed off.
            If the user-supplied identifier is an XRI, this property will be the original XRI.
            If the user-supplied identifier is an OpenID Provider identifier (i.e. yahoo.com),
            this property will be the Claimed Identifier, with the protocol stripped if it is a URI.
            </para>
        <para>
            It is <b>very</b> important that this property <i>never</i> be used for database storage
            or lookup to avoid identity spoofing and other security risks.  For database storage
            and lookup please use the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.ClaimedIdentifier" /> property.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.Status">
      <summary>
            Gets the detailed success or failure status of the authentication attempt.
            </summary>
      <value />
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.Provider">
      <summary>
            Gets information about the OpenId Provider, as advertised by the
            OpenID discovery documents found at the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.ClaimedIdentifier" />
            location.
            </summary>
      <value>
            The Provider endpoint that issued the positive assertion;
            or <c>null</c> if information about the Provider is unavailable.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.Exception">
      <summary>
            Gets the details regarding a failed authentication attempt, if available.
            This will be set if and only if <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.PositiveAuthenticationResponseSnapshot.Status" /> is <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.AuthenticationStatus.Failed" />.
            </summary>
      <value />
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.PrivateSecretManager">
      <summary>
            Manages signing at the RP using private secrets.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.PrivateSecretManager.OptimalPrivateSecretLength">
      <summary>
            The optimal length for a private secret used for signing using the HMACSHA256 class.
            </summary>
      <remarks>
            The 64-byte length is optimized for highest security when used with HMACSHA256.
            See HMACSHA256.HMACSHA256(byte[]) documentation for more information.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.PrivateSecretManager.SecretUri">
      <summary>
            The URI to use for private associations at this RP.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.PrivateSecretManager.securitySettings">
      <summary>
            The security settings that apply to this Relying Party.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.PrivateSecretManager.store">
      <summary>
            The association store
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PrivateSecretManager.#ctor(DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings,DotNetOpenAuth.OpenId.IAssociationStore{System.Uri})">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.PrivateSecretManager" /> class.
            </summary>
      <param name="securitySettings">The security settings.</param>
      <param name="store">The association store.</param>
      <requires exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
      <requires exception="T:System.ArgumentNullException">store != null</requires>
      <exception cref="T:System.ArgumentNullException">store == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PrivateSecretManager.Sign(System.Byte[],System.String)">
      <summary>
            Used to verify a signature previously written.
            </summary>
      <param name="buffer">The data whose signature is to be verified.</param>
      <param name="handle">The handle to the private association used to sign the data.</param>
      <returns>
            The signature for the given buffer using the provided handle.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown when an association with the given handle could not be found.
            This most likely happens if the association was near the end of its life and the user took too long to log in.</exception>
      <requires exception="T:System.ArgumentNullException">buffer != null</requires>
      <exception cref="T:System.ArgumentNullException">buffer == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(handle)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(handle)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PrivateSecretManager.CreateNewAssociationHandle">
      <summary>
            Creates the new association handle.
            </summary>
      <returns>The ASCII-encoded handle name.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.PrivateSecretManager.GetAssociation">
      <summary>
            Gets an association to use for signing new data.
            </summary>
      <returns>
            The association, which may have previously existed or
            may have been created as a result of this call.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.PrivateSecretManager.CurrentHandle">
      <summary>
            Gets the handle of the association to use for private signatures.
            </summary>
      <returns>
            An string made up of plain ASCII characters.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings">
      <summary>
            Security settings that are applicable to relying parties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.ProtectDownlevelReplayAttacksDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.ProtectDownlevelReplayAttacks" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.FilterEndpoints(System.Collections.Generic.IEnumerable{DotNetOpenAuth.OpenId.IdentifierDiscoveryResult})">
      <summary>
            Filters out any disallowed endpoints.
            </summary>
      <param name="endpoints">The endpoints discovered on an Identifier.</param>
      <returns>A sequence of endpoints that satisfy all security requirements.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.RequireSsl">
      <summary>
            Gets or sets a value indicating whether the entire pipeline from Identifier discovery to 
            Provider redirect is guaranteed to be encrypted using HTTPS for authentication to succeed.
            </summary>
      <remarks>
        <para>Setting this property to true is appropriate for RPs with highly sensitive 
            personal information behind the authentication (money management, health records, etc.)</para>
        <para>When set to true, some behavioral changes and additional restrictions are placed:</para>
        <list>
          <item>User-supplied identifiers lacking a scheme are prepended with
            HTTPS:// rather than the standard HTTP:// automatically.</item>
          <item>User-supplied identifiers are not allowed to use HTTP for the scheme.</item>
          <item>All redirects during discovery on the user-supplied identifier must be HTTPS.</item>
          <item>Any XRDS file found by discovery on the User-supplied identifier must be protected using HTTPS.</item>
          <item>Only Provider endpoints found at HTTPS URLs will be considered.</item>
          <item>If the discovered identifier is an OP Identifier (directed identity), the 
            Claimed Identifier eventually asserted by the Provider must be an HTTPS identifier.</item>
          <item>In the case of an unsolicited assertion, the asserted Identifier, discovery on it and 
            the asserting provider endpoint must all be secured by HTTPS.</item>
        </list>
        <para>Although the first redirect from this relying party to the Provider is required
            to use HTTPS, any additional redirects within the Provider cannot be protected and MAY
            revert the user's connection to HTTP, based on individual Provider implementation.
            There is nothing that the RP can do to detect or prevent this.</para>
        <para>
            A <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> is thrown during discovery or authentication when a secure pipeline cannot be established.
            </para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.RequireDirectedIdentity">
      <summary>
            Gets or sets a value indicating whether only OP Identifiers will be discoverable 
            when creating authentication requests.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.MinimumRequiredOpenIdVersion">
      <summary>
            Gets or sets the oldest version of OpenID the remote party is allowed to implement.
            </summary>
      <value>Defaults to <see cref="F:DotNetOpenAuth.OpenId.ProtocolVersion.V10" /></value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.PrivateSecretMaximumAge">
      <summary>
            Gets or sets the maximum allowable age of the secret a Relying Party
            uses to its return_to URLs and nonces with 1.0 Providers.
            </summary>
      <value>The default value is 7 days.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.RejectUnsolicitedAssertions">
      <summary>
            Gets or sets a value indicating whether all unsolicited assertions should be ignored.
            </summary>
      <value>The default value is <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.RejectDelegatingIdentifiers">
      <summary>
            Gets or sets a value indicating whether delegating identifiers are refused for authentication.
            </summary>
      <value>The default value is <c>false</c>.</value>
      <remarks>
            When set to <c>true</c>, login attempts that start at the RP or arrive via unsolicited
            assertions will be rejected if discovery on the identifier shows that OpenID delegation
            is used for the identifier.  This is useful for an RP that should only accept identifiers
            directly issued by the Provider that is sending the assertion.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.IgnoreUnsignedExtensions">
      <summary>
            Gets or sets a value indicating whether unsigned extensions in authentication responses should be ignored.
            </summary>
      <value>The default value is <c>false</c>.</value>
      <remarks>
            When set to true, the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.GetUntrustedExtension(System.Type)" /> methods
            will not return any extension that was not signed by the Provider.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.RequireAssociation">
      <summary>
            Gets or sets a value indicating whether authentication requests will only be
            sent to Providers with whom we can create a shared association.
            </summary>
      <value>
        <c>true</c> to immediately fail authentication if an association with the Provider cannot be established; otherwise, <c>false</c>.
            The default value is <c>false</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.AllowDualPurposeIdentifiers">
      <summary>
            Gets or sets a value indicating whether identifiers that are both OP Identifiers and Claimed Identifiers
            should ever be recognized as claimed identifiers.
            </summary>
      <value>
            	The default value is <c>false</c>, per the OpenID 2.0 spec.
            </value>
      <remarks>
            OpenID 2.0 sections 7.3.2.2 and 11.2 specify that OP Identifiers never be recognized as Claimed Identifiers.
            However, for some scenarios it may be desirable for an RP to override this behavior and allow this.
            The security ramifications of setting this property to <c>true</c> have not been fully explored and
            therefore this setting should only be changed with caution.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.AllowApproximateIdentifierDiscovery">
      <summary>
            Gets or sets a value indicating whether certain Claimed Identifiers that exploit
            features that .NET does not have the ability to send exact HTTP requests for will
            still be allowed by using an approximate HTTP request.
            </summary>
      <value>
            	The default value is <c>true</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.TrustedProviderEndpoints">
      <summary>
            Gets the set of trusted OpenID Provider Endpoint URIs.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.RejectAssertionsFromUntrustedProviders">
      <summary>
            Gets or sets a value indicating whether any login attempt coming from an OpenID Provider Endpoint that is not on this
            whitelist of trusted OP Endpoints will be rejected.  If the trusted providers list is empty and this value
            is true, all assertions are rejected.
            </summary>
      <value>Default is <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings.ProtectDownlevelReplayAttacks">
      <summary>
            Gets or sets a value indicating whether special measures are taken to
            protect users from replay attacks when those users' identities are hosted
            by OpenID 1.x Providers.
            </summary>
      <value>The default value is <c>true</c>.</value>
      <remarks>
        <para>Nonces for protection against replay attacks were not mandated
            by OpenID 1.x, which leaves users open to replay attacks.</para>
        <para>This feature works by adding a signed nonce to the authentication request.
            This might increase the request size beyond what some OpenID 1.1 Providers
            (such as Blogger) are capable of handling.</para>
      </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult">
      <summary>
            Represents a single OP endpoint from discovery on some OpenID Identifier.
            </summary>
      <invariant>this.ProviderEndpoint != null</invariant>
      <invariant>this.ClaimedIdentifier != null</invariant>
      <invariant>this.ProviderLocalIdentifier != null</invariant>
      <invariant>this.Capabilities != null</invariant>
      <invariant>this.Version != null</invariant>
      <invariant>this.Protocol != null</invariant>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.protocol">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.Protocol" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.claimedIdentifier">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.ClaimedIdentifier" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.friendlyIdentifierForDisplay">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.FriendlyIdentifierForDisplay" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.#ctor(DotNetOpenAuth.OpenId.ProviderEndpointDescription,DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Identifier,System.Nullable{System.Int32},System.Nullable{System.Int32})">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult" /> class.
            </summary>
      <param name="providerEndpoint">The provider endpoint.</param>
      <param name="claimedIdentifier">The Claimed Identifier.</param>
      <param name="userSuppliedIdentifier">The User-supplied Identifier.</param>
      <param name="providerLocalIdentifier">The Provider Local Identifier.</param>
      <param name="servicePriority">The service priority.</param>
      <param name="uriPriority">The URI priority.</param>
      <requires exception="T:System.ArgumentNullException">providerEndpoint != null</requires>
      <exception cref="T:System.ArgumentNullException">providerEndpoint == null</exception>
      <requires exception="T:System.ArgumentNullException">claimedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">claimedIdentifier == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.op_Equality(DotNetOpenAuth.OpenId.IdentifierDiscoveryResult,DotNetOpenAuth.OpenId.IdentifierDiscoveryResult)">
      <summary>
            Implements the operator ==.
            </summary>
      <param name="se1">The first service endpoint.</param>
      <param name="se2">The second service endpoint.</param>
      <returns>The result of the operator.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.op_Inequality(DotNetOpenAuth.OpenId.IdentifierDiscoveryResult,DotNetOpenAuth.OpenId.IdentifierDiscoveryResult)">
      <summary>
            Implements the operator !=.
            </summary>
      <param name="se1">The first service endpoint.</param>
      <param name="se2">The second service endpoint.</param>
      <returns>The result of the operator.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.Equals(System.Object)">
      <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.GetHashCode">
      <summary>
            Serves as a hash function for a particular type.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.ToString">
      <summary>
            Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </summary>
      <returns>
            A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </returns>
      <ensures inheritedFrom="M:System.Object.ToString" inheritedFromTypeName="Object">Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.IsExtensionSupported``1">
      <summary>
            Checks whether the OpenId Identifier claims support for a given extension.
            </summary>
      <typeparam name="T">The extension whose support is being queried.</typeparam>
      <returns>
            True if support for the extension is advertised.  False otherwise.
            </returns>
      <remarks>
            Note that a true or false return value is no guarantee of a Provider's
            support for or lack of support for an extension.  The return value is
            determined by how the authenticating user filled out his/her XRDS document only.
            The only way to be sure of support for a given extension is to include
            the extension in the request and see if a response comes back for that extension.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.IsExtensionSupported(System.Type)">
      <summary>
            Checks whether the OpenId Identifier claims support for a given extension.
            </summary>
      <param name="extensionType">The extension whose support is being queried.</param>
      <returns>
            True if support for the extension is advertised.  False otherwise.
            </returns>
      <remarks>
            Note that a true or false return value is no guarantee of a Provider's
            support for or lack of support for an extension.  The return value is
            determined by how the authenticating user filled out his/her XRDS document only.
            The only way to be sure of support for a given extension is to include
            the extension in the request and see if a response comes back for that extension.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.IsExtensionSupported(System.Type)" inheritedFromTypeName="IProviderEndpoint" exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.IsExtensionSupported(System.Type)" inheritedFromTypeName="IProviderEndpoint" exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.IsExtensionSupported(DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension)">
      <summary>
            Determines whether a given extension is supported by this endpoint.
            </summary>
      <param name="extension">An instance of the extension to check support for.</param>
      <returns>
        <c>true</c> if the extension is supported by this endpoint; otherwise, <c>false</c>.
            </returns>
      <requires exception="T:System.ArgumentNullException">extension != null</requires>
      <exception cref="T:System.ArgumentNullException">extension == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.CreateForProviderIdentifier(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.ProviderEndpointDescription,System.Nullable{System.Int32},System.Nullable{System.Int32})">
      <summary>
            Creates a <see cref="T:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult" /> instance to represent some OP Identifier.
            </summary>
      <param name="providerIdentifier">The provider identifier (actually the user-supplied identifier).</param>
      <param name="providerEndpoint">The provider endpoint.</param>
      <param name="servicePriority">The service priority.</param>
      <param name="uriPriority">The URI priority.</param>
      <returns>The created <see cref="T:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult" /> instance</returns>
      <requires exception="T:System.ArgumentNullException">providerEndpoint != null</requires>
      <exception cref="T:System.ArgumentNullException">providerEndpoint == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.CreateForClaimedIdentifier(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.ProviderEndpointDescription,System.Nullable{System.Int32},System.Nullable{System.Int32})">
      <summary>
            Creates a <see cref="T:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult" /> instance to represent some Claimed Identifier.
            </summary>
      <param name="claimedIdentifier">The claimed identifier.</param>
      <param name="providerLocalIdentifier">The provider local identifier.</param>
      <param name="providerEndpoint">The provider endpoint.</param>
      <param name="servicePriority">The service priority.</param>
      <param name="uriPriority">The URI priority.</param>
      <returns>The created <see cref="T:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult" /> instance</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.CreateForClaimedIdentifier(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.ProviderEndpointDescription,System.Nullable{System.Int32},System.Nullable{System.Int32})">
      <summary>
            Creates a <see cref="T:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult" /> instance to represent some Claimed Identifier.
            </summary>
      <param name="claimedIdentifier">The claimed identifier.</param>
      <param name="userSuppliedIdentifier">The user supplied identifier.</param>
      <param name="providerLocalIdentifier">The provider local identifier.</param>
      <param name="providerEndpoint">The provider endpoint.</param>
      <param name="servicePriority">The service priority.</param>
      <param name="uriPriority">The URI priority.</param>
      <returns>The created <see cref="T:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult" /> instance</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.IsTypeUriPresent(System.String)">
      <summary>
            Determines whether a given type URI is present on the specified provider endpoint.
            </summary>
      <param name="typeUri">The type URI.</param>
      <returns>
        <c>true</c> if the type URI is present on the specified provider endpoint; otherwise, <c>false</c>.
            </returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(typeUri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(typeUri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.SetCapabilitiesForTestHook(System.Collections.ObjectModel.ReadOnlyCollection{System.String})">
      <summary>
            Sets the Capabilities property (this method is a test hook.)
            </summary>
      <param name="value">The value.</param>
      <remarks>The publicize.exe tool should work for the unit tests, but for some reason it fails on the build server.</remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.GetEndpointPrecedenceOrderByServiceType(DotNetOpenAuth.OpenId.IdentifierDiscoveryResult)">
      <summary>
            Gets the priority rating for a given type of endpoint, allowing a
            priority sorting of endpoints.
            </summary>
      <param name="endpoint">The endpoint to prioritize.</param>
      <returns>An arbitary integer, which may be used for sorting against other returned values from this method.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.Version">
      <summary>
            Gets the detected version of OpenID implemented by the Provider.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.get_Version" inheritedFromTypeName="IProviderEndpoint">Contract.Result&lt;Version&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.UserSuppliedIdentifier">
      <summary>
            Gets the Identifier that was presented by the end user to the Relying Party, 
            or selected by the user at the OpenID Provider. 
            During the initiation phase of the protocol, an end user may enter 
            either their own Identifier or an OP Identifier. If an OP Identifier 
            is used, the OP may then assist the end user in selecting an Identifier 
            to share with the Relying Party.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.ClaimedIdentifier">
      <summary>
            Gets the Identifier that the end user claims to control.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.ProviderLocalIdentifier">
      <summary>
            Gets an alternate Identifier for an end user that is local to a 
            particular OP and thus not necessarily under the end user's 
            control.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.FriendlyIdentifierForDisplay">
      <summary>
            Gets a more user-friendly (but NON-secure!) string to display to the user as his identifier.
            </summary>
      <returns>A human-readable, abbreviated (but not secure) identifier the user MAY recognize as his own.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.ProviderEndpoint">
      <summary>
            Gets the provider endpoint.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.ProviderEndpointPriority">
      <summary>
            Gets the @priority given in the XRDS document for this specific OP endpoint.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.ServicePriority">
      <summary>
            Gets the @priority given in the XRDS document for this service
            (which may consist of several endpoints).
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.Capabilities">
      <summary>
            Gets the collection of service type URIs found in the XRDS document describing this Provider.
            </summary>
      <value>Should never be null, but may be empty.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.DotNetOpenAuth#OpenId#RelyingParty#IProviderEndpoint#Uri">
      <summary>
            Gets the URL that the OpenID Provider receives authentication requests at.
            </summary>
      <value>This value MUST be an absolute HTTP or HTTPS URL.</value>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.get_Uri" inheritedFromTypeName="IProviderEndpoint">Contract.Result&lt;Uri&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.EndpointOrder">
      <summary>
            Gets an XRDS sorting routine that uses the XRDS Service/@Priority 
            attribute to determine order.
            </summary>
      <remarks>
            Endpoints lacking any priority value are sorted to the end of the list.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.Protocol">
      <summary>
            Gets the protocol used by the OpenID Provider.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.OpenIdXrdsHelper">
      <summary>
            Adds OpenID-specific extension methods to the XrdsDocument class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdXrdsHelper.FindRelyingPartyReceivingEndpoints(DotNetOpenAuth.Xrds.XrdsDocument)">
      <summary>
            Finds the Relying Party return_to receiving endpoints.
            </summary>
      <param name="xrds">The XrdsDocument instance to use in this process.</param>
      <returns>A sequence of Relying Party descriptors for the return_to endpoints.</returns>
      <remarks>
            This is useful for Providers to send unsolicited assertions to Relying Parties,
            or for Provider's to perform RP discovery/verification as part of authentication.
            </remarks>
      <requires exception="T:System.ArgumentNullException">xrds != null</requires>
      <exception cref="T:System.ArgumentNullException">xrds == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;RelyingPartyEndpointDescription&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdXrdsHelper.FindRelyingPartyIcons(DotNetOpenAuth.Xrds.XrdsDocument)">
      <summary>
            Finds the icons the relying party wants an OP to display as part of authentication,
            per the UI extension spec.
            </summary>
      <param name="xrds">The XrdsDocument to search.</param>
      <returns>A sequence of the icon URLs in preferred order.</returns>
      <requires exception="T:System.ArgumentNullException">xrds != null</requires>
      <exception cref="T:System.ArgumentNullException">xrds == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;Uri&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdXrdsHelper.CreateServiceEndpoints(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Xrds.XrdElement},DotNetOpenAuth.OpenId.UriIdentifier,DotNetOpenAuth.OpenId.UriIdentifier)">
      <summary>
            Creates the service endpoints described in this document, useful for requesting
            authentication of one of the OpenID Providers that result from it.
            </summary>
      <param name="xrds">The XrdsDocument instance to use in this process.</param>
      <param name="claimedIdentifier">The claimed identifier that was used to discover this XRDS document.</param>
      <param name="userSuppliedIdentifier">The user supplied identifier.</param>
      <returns>
            A sequence of OpenID Providers that can assert ownership of the <paramref name="claimedIdentifier" />.
            </returns>
      <requires exception="T:System.ArgumentNullException">xrds != null</requires>
      <exception cref="T:System.ArgumentNullException">xrds == null</exception>
      <requires exception="T:System.ArgumentNullException">claimedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">claimedIdentifier == null</exception>
      <requires exception="T:System.ArgumentNullException">userSuppliedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">userSuppliedIdentifier == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;IdentifierDiscoveryResult&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdXrdsHelper.CreateServiceEndpoints(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Xrds.XrdElement},DotNetOpenAuth.OpenId.XriIdentifier)">
      <summary>
            Creates the service endpoints described in this document, useful for requesting
            authentication of one of the OpenID Providers that result from it.
            </summary>
      <param name="xrds">The XrdsDocument instance to use in this process.</param>
      <param name="userSuppliedIdentifier">The user-supplied i-name that was used to discover this XRDS document.</param>
      <returns>A sequence of OpenID Providers that can assert ownership of the canonical ID given in this document.</returns>
      <requires exception="T:System.ArgumentNullException">xrds != null</requires>
      <exception cref="T:System.ArgumentNullException">xrds == null</exception>
      <requires exception="T:System.ArgumentNullException">userSuppliedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">userSuppliedIdentifier == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;IdentifierDiscoveryResult&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdXrdsHelper.GenerateOPIdentifierServiceEndpoints(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Xrds.XrdElement},DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Generates OpenID Providers that can authenticate using directed identity.
            </summary>
      <param name="xrds">The XrdsDocument instance to use in this process.</param>
      <param name="opIdentifier">The OP Identifier entered (and resolved) by the user.  Essentially the user-supplied identifier.</param>
      <returns>A sequence of the providers that can offer directed identity services.</returns>
      <requires exception="T:System.ArgumentNullException">xrds != null</requires>
      <exception cref="T:System.ArgumentNullException">xrds == null</exception>
      <requires exception="T:System.ArgumentNullException">opIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">opIdentifier == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;IdentifierDiscoveryResult&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdXrdsHelper.GenerateClaimedIdentifierServiceEndpoints(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Xrds.XrdElement},DotNetOpenAuth.OpenId.UriIdentifier,DotNetOpenAuth.OpenId.UriIdentifier)">
      <summary>
            Generates the OpenID Providers that are capable of asserting ownership
            of a particular URI claimed identifier.
            </summary>
      <param name="xrds">The XrdsDocument instance to use in this process.</param>
      <param name="claimedIdentifier">The claimed identifier.</param>
      <param name="userSuppliedIdentifier">The user supplied identifier.</param>
      <returns>
            A sequence of the providers that can assert ownership of the given identifier.
            </returns>
      <requires exception="T:System.ArgumentNullException">xrds != null</requires>
      <exception cref="T:System.ArgumentNullException">xrds == null</exception>
      <requires exception="T:System.ArgumentNullException">claimedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">claimedIdentifier == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;IdentifierDiscoveryResult&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdXrdsHelper.GenerateClaimedIdentifierServiceEndpoints(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Xrds.XrdElement},DotNetOpenAuth.OpenId.XriIdentifier)">
      <summary>
            Generates the OpenID Providers that are capable of asserting ownership
            of a particular XRI claimed identifier.
            </summary>
      <param name="xrds">The XrdsDocument instance to use in this process.</param>
      <param name="userSuppliedIdentifier">The i-name supplied by the user.</param>
      <returns>A sequence of the providers that can assert ownership of the given identifier.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdXrdsHelper.FindOPIdentifierServices(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Xrds.XrdElement})">
      <summary>
            Enumerates the XRDS service elements that describe OpenID Providers offering directed identity assertions.
            </summary>
      <param name="xrds">The XrdsDocument instance to use in this process.</param>
      <returns>A sequence of service elements.</returns>
      <requires exception="T:System.ArgumentNullException">xrds != null</requires>
      <exception cref="T:System.ArgumentNullException">xrds == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;ServiceElement&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdXrdsHelper.FindClaimedIdentifierServices(System.Collections.Generic.IEnumerable{DotNetOpenAuth.Xrds.XrdElement})">
      <summary>
            Returns the OpenID-compatible services described by a given XRDS document,
            in priority order.
            </summary>
      <param name="xrds">The XrdsDocument instance to use in this process.</param>
      <returns>A sequence of the services offered.</returns>
      <requires exception="T:System.ArgumentNullException">xrds != null</requires>
      <exception cref="T:System.ArgumentNullException">xrds == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;ServiceElement&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.OpenIdXrdsHelper.FindReturnToServices(DotNetOpenAuth.Xrds.XrdsDocument)">
      <summary>
            Enumerates the XRDS service elements that describe OpenID Relying Party return_to URLs
            that can receive authentication assertions.
            </summary>
      <param name="xrds">The XrdsDocument instance to use in this process.</param>
      <returns>A sequence of service elements.</returns>
      <requires exception="T:System.ArgumentNullException">xrds != null</requires>
      <exception cref="T:System.ArgumentNullException">xrds == null</exception>
      <ensures>Contract.Result&lt;IEnumerable&lt;ServiceElement&gt;&gt;() != null</ensures>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.SimpleXrdsProviderEndpoint">
      <summary>
            A very simple IXrdsProviderEndpoint implementation for verifying that all positive
            assertions (particularly unsolicited ones) are received from OP endpoints that
            are deemed permissible by the host RP.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SimpleXrdsProviderEndpoint.#ctor(DotNetOpenAuth.OpenId.Messages.PositiveAssertionResponse)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.SimpleXrdsProviderEndpoint" /> class.
            </summary>
      <param name="positiveAssertion">The positive assertion.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SimpleXrdsProviderEndpoint.DotNetOpenAuth#OpenId#RelyingParty#IProviderEndpoint#IsExtensionSupported``1">
      <summary>
            Checks whether the OpenId Identifier claims support for a given extension.
            </summary>
      <typeparam name="T">The extension whose support is being queried.</typeparam>
      <returns>
            True if support for the extension is advertised.  False otherwise.
            </returns>
      <remarks>
            Note that a true or false return value is no guarantee of a Provider's
            support for or lack of support for an extension.  The return value is
            determined by how the authenticating user filled out his/her XRDS document only.
            The only way to be sure of support for a given extension is to include
            the extension in the request and see if a response comes back for that extension.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SimpleXrdsProviderEndpoint.DotNetOpenAuth#OpenId#RelyingParty#IProviderEndpoint#IsExtensionSupported(System.Type)">
      <summary>
            Checks whether the OpenId Identifier claims support for a given extension.
            </summary>
      <param name="extensionType">The extension whose support is being queried.</param>
      <returns>
            True if support for the extension is advertised.  False otherwise.
            </returns>
      <remarks>
            Note that a true or false return value is no guarantee of a Provider's
            support for or lack of support for an extension.  The return value is
            determined by how the authenticating user filled out his/her XRDS document only.
            The only way to be sure of support for a given extension is to include
            the extension in the request and see if a response comes back for that extension.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.IsExtensionSupported(System.Type)" inheritedFromTypeName="IProviderEndpoint" exception="T:System.ArgumentNullException">extensionType != null</requires>
      <exception cref="T:System.ArgumentNullException">extensionType == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.IsExtensionSupported(System.Type)" inheritedFromTypeName="IProviderEndpoint" exception="T:System.ArgumentException">typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType)</requires>
      <exception cref="T:System.ArgumentException">!(typeof(IOpenIdMessageExtension).IsAssignableFrom(extensionType))</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.SimpleXrdsProviderEndpoint.Version">
      <summary>
            Gets the detected version of OpenID implemented by the Provider.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.get_Version" inheritedFromTypeName="IProviderEndpoint">Contract.Result&lt;Version&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.SimpleXrdsProviderEndpoint.Uri">
      <summary>
            Gets the URL that the OpenID Provider receives authentication requests at.
            </summary>
      <getter>
        <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.get_Uri" inheritedFromTypeName="IProviderEndpoint">Contract.Result&lt;Uri&gt;() != null</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.StandardRelyingPartyApplicationStore">
      <summary>
            An in-memory store for Relying Parties, suitable for single server, single process
            ASP.NET web sites.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.StandardRelyingPartyApplicationStore.nonceStore">
      <summary>
            The nonce store to use.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.StandardRelyingPartyApplicationStore.associationStore">
      <summary>
            The association store to use.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.StandardRelyingPartyApplicationStore.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.StandardRelyingPartyApplicationStore" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.StandardRelyingPartyApplicationStore.StoreAssociation(System.Uri,DotNetOpenAuth.OpenId.Association)">
      <summary>
            Saves an <see cref="T:DotNetOpenAuth.OpenId.Association" /> for later recall.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for providers).</param>
      <param name="association">The association to store.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.StandardRelyingPartyApplicationStore.GetAssociation(System.Uri,DotNetOpenAuth.OpenId.SecuritySettings)">
      <summary>
            Gets the best association (the one with the longest remaining life) for a given key.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for Providers).</param>
      <param name="securityRequirements">The security settings.</param>
      <returns>
            The requested association, or null if no unexpired <see cref="T:DotNetOpenAuth.OpenId.Association" />s exist for the given key.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.StandardRelyingPartyApplicationStore.GetAssociation(System.Uri,System.String)">
      <summary>
            Gets the association for a given key and handle.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for Providers).</param>
      <param name="handle">The handle of the specific association that must be recalled.</param>
      <returns>
            The requested association, or null if no unexpired <see cref="T:DotNetOpenAuth.OpenId.Association" />s exist for the given key and handle.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.StandardRelyingPartyApplicationStore.RemoveAssociation(System.Uri,System.String)">
      <summary>
            Removes a specified handle that may exist in the store.
            </summary>
      <param name="distinguishingFactor">The Uri (for relying parties) or Smart/Dumb (for Providers).</param>
      <param name="handle">The handle of the specific association that must be deleted.</param>
      <returns>
            True if the association existed in this store previous to this call.
            </returns>
      <remarks>
            No exception should be thrown if the association does not exist in the store
            before this call.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.StandardRelyingPartyApplicationStore.StoreNonce(System.String,System.String,System.DateTime)">
      <summary>
            Stores a given nonce and timestamp.
            </summary>
      <param name="context">The context, or namespace, within which the <paramref name="nonce" /> must be unique.</param>
      <param name="nonce">A series of random characters.</param>
      <param name="timestampUtc">The timestamp that together with the nonce string make it unique.
            The timestamp may also be used by the data store to clear out old nonces.</param>
      <returns>
            True if the nonce+timestamp (combination) was not previously in the database.
            False if the nonce was stored previously with the same timestamp.
            </returns>
      <remarks>
            The nonce must be stored for no less than the maximum time window a message may
            be processed within before being discarded as an expired message.
            If the binding element is applicable to your channel, this expiration window
            is retrieved or set using the
            <see cref="P:DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement.MaximumMessageAge" /> property.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile">
      <summary>
            Implements the Identity, Credential, &amp; Access Management (ICAM) OpenID 2.0 Profile
            for the General Services Administration (GSA).
            </summary>
      <remarks>
        <para>Relying parties that include this profile are always held to the terms required by the profile,
            but Providers are only affected by the special behaviors of the profile when the RP specifically
            indicates that they want to use this profile. </para>
      </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile.MaximumAssociationLifetime">
      <summary>
            The maximum time a shared association can live.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile.DotNetOpenAuth#OpenId#RelyingParty#IRelyingPartyBehavior#ApplySecuritySettings(DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings)">
      <summary>
            Applies a well known set of security requirements.
            </summary>
      <param name="securitySettings">The security settings to enhance with the requirements of this profile.</param>
      <remarks>
            Care should be taken to never decrease security when applying a profile.
            Profiles should only enhance security requirements to avoid being
            incompatible with each other.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior.ApplySecuritySettings(DotNetOpenAuth.OpenId.RelyingParty.RelyingPartySecuritySettings)" inheritedFromTypeName="IRelyingPartyBehavior" exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile.DotNetOpenAuth#OpenId#RelyingParty#IRelyingPartyBehavior#OnOutgoingAuthenticationRequest(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Called when an authentication request is about to be sent.
            </summary>
      <param name="request">The request.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior.OnOutgoingAuthenticationRequest(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)" inheritedFromTypeName="IRelyingPartyBehavior" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile.DotNetOpenAuth#OpenId#RelyingParty#IRelyingPartyBehavior#OnIncomingPositiveAssertion(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Called when an incoming positive assertion is received.
            </summary>
      <param name="assertion">The positive assertion.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior.OnIncomingPositiveAssertion(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)" inheritedFromTypeName="IRelyingPartyBehavior" exception="T:System.ArgumentNullException">assertion != null</requires>
      <exception cref="T:System.ArgumentNullException">assertion == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile.DotNetOpenAuth#OpenId#Provider#IProviderBehavior#ApplySecuritySettings(DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Adapts the default security settings to the requirements of this behavior.
            </summary>
      <param name="securitySettings">The original security settings.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IProviderBehavior.ApplySecuritySettings(DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)" inheritedFromTypeName="IProviderBehavior" exception="T:System.ArgumentNullException">securitySettings != null</requires>
      <exception cref="T:System.ArgumentNullException">securitySettings == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile.DotNetOpenAuth#OpenId#Provider#IProviderBehavior#OnIncomingRequest(DotNetOpenAuth.OpenId.Provider.IRequest)">
      <summary>
            Called when a request is received by the Provider.
            </summary>
      <param name="request">The incoming request.</param>
      <returns>
        <c>true</c> if this behavior owns this request and wants to stop other behaviors
            from handling it; <c>false</c> to allow other behaviors to process this request.
            </returns>
      <remarks>
            Implementations may set a new value to <see cref="P:DotNetOpenAuth.OpenId.Provider.IRequest.SecuritySettings" /> but
            should not change the properties on the instance of <see cref="T:DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings" />
            itself as that instance may be shared across many requests.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IProviderBehavior.OnIncomingRequest(DotNetOpenAuth.OpenId.Provider.IRequest)" inheritedFromTypeName="IProviderBehavior" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile.DotNetOpenAuth#OpenId#Provider#IProviderBehavior#OnOutgoingResponse(DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest)">
      <summary>
            Called when the Provider is preparing to send a response to an authentication request.
            </summary>
      <param name="request">The request that is configured to generate the outgoing response.</param>
      <returns>
        <c>true</c> if this behavior owns this request and wants to stop other behaviors
            from handling it; <c>false</c> to allow other behaviors to process this request.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.Provider.IProviderBehavior.OnOutgoingResponse(DotNetOpenAuth.OpenId.Provider.IAuthenticationRequest)" inheritedFromTypeName="IProviderBehavior" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile.SetMaximumAssociationLifetimeToNotExceed(System.String,System.TimeSpan,DotNetOpenAuth.OpenId.Provider.ProviderSecuritySettings)">
      <summary>
            Ensures the maximum association lifetime does not exceed a given limit.
            </summary>
      <param name="associationType">Type of the association.</param>
      <param name="maximumLifetime">The maximum lifetime.</param>
      <param name="securitySettings">The security settings to adjust.</param>
      <requires>!String.IsNullOrEmpty(associationType)</requires>
      <requires>maximumLifetime.TotalSeconds &gt; 0</requires>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile.PpidIdentifierProvider">
      <summary>
            Gets or sets the provider for generating PPID identifiers.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile.AllowPersonallyIdentifiableInformation">
      <summary>
            Gets or sets a value indicating whether PII is allowed to be requested or received via OpenID.
            </summary>
      <value>The default value is <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Behaviors.GsaIcamProfile.DisableSslRequirement">
      <summary>
            Gets or sets a value indicating whether to ignore the SSL requirement (for testing purposes only).
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.WellKnownProviders">
      <summary>
            Common OpenID Provider Identifiers.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.WellKnownProviders.Yahoo">
      <summary>
            The Yahoo OP Identifier.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.WellKnownProviders.Google">
      <summary>
            The Google OP Identifier.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.WellKnownProviders.MyOpenId">
      <summary>
            The MyOpenID OP Identifier.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.WellKnownProviders.Verisign">
      <summary>
            The Verisign OP Identifier.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.WellKnownProviders.MyVidoop">
      <summary>
            The MyVidoop OP Identifier.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.WellKnownProviders.#ctor">
      <summary>
            Prevents a default instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.WellKnownProviders" /> class from being created.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler">
      <summary>
            A paranoid HTTP get/post request engine.  It helps to protect against attacks from remote
            server leaving dangling connections, sending too much data, causing requests against 
            internal servers, etc.
            </summary>
      <remarks>
            Protections include:
            * Conservative maximum time to receive the complete response.
            * Only HTTP and HTTPS schemes are permitted.
            * Internal IP address ranges are not permitted: 127.*.*.*, 1::*
            * Internal host names are not permitted (periods must be found in the host name)
            If a particular host would be permitted but is in the blacklist, it is not allowed.
            If a particular host would not be permitted but is in the whitelist, it is allowed.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.allowableSchemes">
      <summary>
            The set of URI schemes allowed in untrusted web requests.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.blacklistHosts">
      <summary>
            The collection of blacklisted hosts.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.blacklistHostsRegex">
      <summary>
            The collection of regular expressions used to identify additional blacklisted hosts.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.whitelistHosts">
      <summary>
            The collection of whitelisted hosts.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.whitelistHostsRegex">
      <summary>
            The collection of regular expressions used to identify additional whitelisted hosts.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.maximumRedirections">
      <summary>
            The maximum redirections to follow in the course of a single request.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.maximumBytesToRead">
      <summary>
            The maximum number of bytes to read from the response of an untrusted server.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.chainedWebRequestHandler">
      <summary>
            The handler that will actually send the HTTP request and collect
            the response once the untrusted server gates have been satisfied.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.#ctor(DotNetOpenAuth.Messaging.IDirectWebRequestHandler)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler" /> class.
            </summary>
      <param name="chainedWebRequestHandler">The chained web request handler.</param>
      <requires exception="T:System.ArgumentNullException">chainedWebRequestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">chainedWebRequestHandler == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.CanSupport(DotNetOpenAuth.Messaging.DirectWebRequestOptions)">
      <summary>
            Determines whether this instance can support the specified options.
            </summary>
      <param name="options">The set of options that might be given in a subsequent web request.</param>
      <returns>
        <c>true</c> if this instance can support the specified options; otherwise, <c>false</c>.
            </returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.GetRequestStream(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)">
      <summary>
            Prepares an <see cref="T:System.Net.HttpWebRequest" /> that contains an POST entity for sending the entity.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> that should contain the entity.</param>
      <param name="options">The options to apply to this web request.</param>
      <returns>
            The writer the caller should write out the entity data to.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>The caller should have set the <see cref="P:System.Net.HttpWebRequest.ContentLength" />
            and any other appropriate properties <i>before</i> calling this method.</para>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetRequestStream(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)" inheritedFromTypeName="IDirectWebRequestHandler" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetRequestStream(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)" inheritedFromTypeName="IDirectWebRequestHandler" exception="T:System.NotSupportedException">((IDirectWebRequestHandler)this).CanSupport(options)</requires>
      <exception cref="T:System.NotSupportedException">!(((IDirectWebRequestHandler)this).CanSupport(options))</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.GetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)">
      <summary>
            Processes an <see cref="T:System.Net.HttpWebRequest" /> and converts the
            <see cref="T:System.Net.HttpWebResponse" /> to a <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> instance.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> to handle.</param>
      <param name="options">The options to apply to this web request.</param>
      <returns>
            An instance of <see cref="T:DotNetOpenAuth.Messaging.CachedDirectWebResponse" /> describing the response.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.  The <see cref="P:System.Net.WebException.Response" />
            value, if set, should be Closed before throwing.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)" inheritedFromTypeName="IDirectWebRequestHandler" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)" inheritedFromTypeName="IDirectWebRequestHandler" exception="T:System.NotSupportedException">((IDirectWebRequestHandler)this).CanSupport(options)</requires>
      <exception cref="T:System.NotSupportedException">!(((IDirectWebRequestHandler)this).CanSupport(options))</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)" inheritedFromTypeName="IDirectWebRequestHandler">Contract.Result&lt;IncomingWebResponse&gt;() != null</ensures>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)" inheritedFromTypeName="IDirectWebRequestHandler">Contract.Result&lt;IncomingWebResponse&gt;().ResponseStream != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.DotNetOpenAuth#Messaging#IDirectWebRequestHandler#GetRequestStream(System.Net.HttpWebRequest)">
      <summary>
            Prepares an <see cref="T:System.Net.HttpWebRequest" /> that contains an POST entity for sending the entity.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> that should contain the entity.</param>
      <returns>
            The writer the caller should write out the entity data to.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetRequestStream(System.Net.HttpWebRequest)" inheritedFromTypeName="IDirectWebRequestHandler" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.DotNetOpenAuth#Messaging#IDirectWebRequestHandler#GetResponse(System.Net.HttpWebRequest)">
      <summary>
            Processes an <see cref="T:System.Net.HttpWebRequest" /> and converts the
            <see cref="T:System.Net.HttpWebResponse" /> to a <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> instance.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> to handle.</param>
      <returns>
            An instance of <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> describing the response.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.  The <see cref="P:System.Net.WebException.Response" />
            value, if set, should be Closed before throwing.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest)" inheritedFromTypeName="IDirectWebRequestHandler" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest)" inheritedFromTypeName="IDirectWebRequestHandler">Contract.Result&lt;IncomingWebResponse&gt;() != null</ensures>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest)" inheritedFromTypeName="IDirectWebRequestHandler">Contract.Result&lt;IncomingWebResponse&gt;().ResponseStream != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.IsIPv6Loopback(System.Net.IPAddress)">
      <summary>
            Determines whether an IP address is the IPv6 equivalent of "localhost/127.0.0.1".
            </summary>
      <param name="ip">The ip address to check.</param>
      <returns>
        <c>true</c> if this is a loopback IP address; <c>false</c> otherwise.
            </returns>
      <requires exception="T:System.ArgumentNullException">ip != null</requires>
      <exception cref="T:System.ArgumentNullException">ip == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.IsHostInList(System.String,System.Collections.Generic.ICollection{System.String},System.Collections.Generic.ICollection{System.Text.RegularExpressions.Regex})">
      <summary>
            Determines whether the given host name is in a host list or host name regex list.
            </summary>
      <param name="host">The host name.</param>
      <param name="stringList">The list of host names.</param>
      <param name="regexList">The list of regex patterns of host names.</param>
      <returns>
        <c>true</c> if the specified host falls within at least one of the given lists; otherwise, <c>false</c>.
            </returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(host)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(host)</exception>
      <requires exception="T:System.ArgumentNullException">stringList != null</requires>
      <exception cref="T:System.ArgumentNullException">stringList == null</exception>
      <requires exception="T:System.ArgumentNullException">regexList != null</requires>
      <exception cref="T:System.ArgumentNullException">regexList == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.IsHostWhitelisted(System.String)">
      <summary>
            Determines whether a given host is whitelisted.
            </summary>
      <param name="host">The host name to test.</param>
      <returns>
        <c>true</c> if the host is whitelisted; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.IsHostBlacklisted(System.String)">
      <summary>
            Determines whether a given host is blacklisted.
            </summary>
      <param name="host">The host name to test.</param>
      <returns>
        <c>true</c> if the host is blacklisted; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.EnsureAllowableRequestUri(System.Uri,System.Boolean)">
      <summary>
            Verify that the request qualifies under our security policies
            </summary>
      <param name="requestUri">The request URI.</param>
      <param name="requireSsl">If set to <c>true</c>, only web requests that can be made entirely over SSL will succeed.</param>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown when the URI is disallowed for security reasons.</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.IsUriAllowable(System.Uri)">
      <summary>
            Determines whether a URI is allowed based on scheme and host name.
            No requireSSL check is done here
            </summary>
      <param name="uri">The URI to test for whether it should be allowed.</param>
      <returns>
        <c>true</c> if [is URI allowable] [the specified URI]; otherwise, <c>false</c>.
            </returns>
      <requires exception="T:System.ArgumentNullException">uri != null</requires>
      <exception cref="T:System.ArgumentNullException">uri == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.PrepareRequest(System.Net.HttpWebRequest,System.Boolean)">
      <summary>
            Prepares the request by setting timeout and redirect policies.
            </summary>
      <param name="request">The request to prepare.</param>
      <param name="preparingPost">
        <c>true</c> if this is a POST request whose headers have not yet been sent out; <c>false</c> otherwise.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.MaximumBytesToRead">
      <summary>
            Gets or sets the default maximum bytes to read in any given HTTP request.
            </summary>
      <value>Default is 1MB.  Cannot be less than 2KB.</value>
      <setter>
        <requires exception="T:System.ArgumentOutOfRangeException">value &gt;= 2048</requires>
      </setter>
      <exception cref="T:System.ArgumentOutOfRangeException">value &lt; 2048</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.MaximumRedirections">
      <summary>
            Gets or sets the total number of redirections to allow on any one request.
            Default is 10.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentOutOfRangeException">value &gt;= 0</requires>
      </setter>
      <exception cref="T:System.ArgumentOutOfRangeException">value &lt; 0</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.ReadWriteTimeout">
      <summary>
            Gets or sets the time allowed to wait for single read or write operation to complete.
            Default is 500 milliseconds.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.Timeout">
      <summary>
            Gets or sets the time allowed for an entire HTTP request.  
            Default is 5 seconds.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.WhitelistHosts">
      <summary>
            Gets a collection of host name literals that should be allowed even if they don't
            pass standard security checks.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.WhitelistHostsRegex">
      <summary>
            Gets a collection of host name regular expressions that indicate hosts that should
            be allowed even though they don't pass standard security checks.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.BlacklistHosts">
      <summary>
            Gets a collection of host name literals that should be rejected even if they 
            pass standard security checks.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.BlacklistHostsRegex">
      <summary>
            Gets a collection of host name regular expressions that indicate hosts that should
            be rejected even if they pass standard security checks.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.Configuration">
      <summary>
            Gets the configuration for this class that is specified in the host's .config file.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.UriDiscoveryService">
      <summary>
            The discovery service for URI identifiers.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriDiscoveryService.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.UriDiscoveryService" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriDiscoveryService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)">
      <summary>
            Performs discovery on the specified identifier.
            </summary>
      <param name="identifier">The identifier to perform discovery on.</param>
      <param name="requestHandler">The means to place outgoing HTTP requests.</param>
      <param name="abortDiscoveryChain">if set to <c>true</c>, no further discovery services will be called for this identifier.</param>
      <returns>
            A sequence of service endpoints yielded by discovery.  Must not be null, but may be empty.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.IIdentifierDiscoveryService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)" inheritedFromTypeName="IIdentifierDiscoveryService" exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.IIdentifierDiscoveryService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)" inheritedFromTypeName="IIdentifierDiscoveryService" exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.IIdentifierDiscoveryService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)" inheritedFromTypeName="IIdentifierDiscoveryService">Contract.Result&lt;IEnumerable&lt;IdentifierDiscoveryResult&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriDiscoveryService.DiscoverFromHtml(System.Uri,DotNetOpenAuth.OpenId.UriIdentifier,System.String)">
      <summary>
            Searches HTML for the HEAD META tags that describe OpenID provider services.
            </summary>
      <param name="claimedIdentifier">The final URL that provided this HTML document.
            This may not be the same as (this) userSuppliedIdentifier if the
            userSuppliedIdentifier pointed to a 301 Redirect.</param>
      <param name="userSuppliedIdentifier">The user supplied identifier.</param>
      <param name="html">The HTML that was downloaded and should be searched.</param>
      <returns>
            A sequence of any discovered ServiceEndpoints.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.UriIdentifier">
      <summary>
            A URI style of OpenID Identifier.
            </summary>
      <invariant>this.Uri != null</invariant>
      <invariant>this.Uri.AbsoluteUri != null</invariant>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.UriIdentifier.allowedSchemes">
      <summary>
            The allowed protocol schemes in a URI Identifier.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.UriIdentifier.roundTrippingHttpParser">
      <summary>
            The special scheme to use for HTTP URLs that should not have their paths compressed.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.UriIdentifier.roundTrippingHttpsParser">
      <summary>
            The special scheme to use for HTTPS URLs that should not have their paths compressed.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.UriIdentifier.publishableHttpParser">
      <summary>
            The special scheme to use for HTTP URLs that should not have their paths compressed.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.UriIdentifier.publishableHttpsParser">
      <summary>
            The special scheme to use for HTTPS URLs that should not have their paths compressed.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.UriIdentifier.schemeSubstitution">
      <summary>
            A value indicating whether scheme substitution is being used to workaround
            .NET path compression that invalidates some OpenIDs that have trailing periods
            in one of their path segments.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.#cctor">
      <summary>
            Initializes static members of the <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" /> class.
            </summary>
      <remarks>
            This method attempts to workaround the .NET Uri class parsing bug described here:
            https://connect.microsoft.com/VisualStudio/feedback/details/386695/system-uri-incorrectly-strips-trailing-dots?wa=wsignin1.0#tabs
            since some identifiers (like some of the pseudonymous identifiers from Yahoo) include path segments
            that end with periods, which the Uri class will typically trim off.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" /> class.
            </summary>
      <param name="uri">The value this identifier will represent.</param>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(uri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(uri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.#ctor(System.String,System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" /> class.
            </summary>
      <param name="uri">The value this identifier will represent.</param>
      <param name="requireSslDiscovery">if set to <c>true</c> [require SSL discovery].</param>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(uri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(uri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.#ctor(System.Uri)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" /> class.
            </summary>
      <param name="uri">The value this identifier will represent.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.#ctor(System.Uri,System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" /> class.
            </summary>
      <param name="uri">The value this identifier will represent.</param>
      <param name="requireSslDiscovery">if set to <c>true</c> [require SSL discovery].</param>
      <requires exception="T:System.ArgumentNullException">uri != null</requires>
      <exception cref="T:System.ArgumentNullException">uri == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.op_Implicit(DotNetOpenAuth.OpenId.UriIdentifier)~System.Uri">
      <summary>
            Converts a <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" /> instance to a <see cref="P:DotNetOpenAuth.OpenId.UriIdentifier.Uri" /> instance.
            </summary>
      <param name="identifier">The identifier to convert to an ordinary <see cref="P:DotNetOpenAuth.OpenId.UriIdentifier.Uri" /> instance.</param>
      <returns>The result of the conversion.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.op_Implicit(System.Uri)~DotNetOpenAuth.OpenId.UriIdentifier">
      <summary>
            Converts a <see cref="P:DotNetOpenAuth.OpenId.UriIdentifier.Uri" /> instance to a <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" /> instance.
            </summary>
      <param name="identifier">The <see cref="P:DotNetOpenAuth.OpenId.UriIdentifier.Uri" /> instance to turn into a <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" />.</param>
      <returns>The result of the conversion.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.Equals(System.Object)">
      <summary>
            Tests equality between this URI and another URI.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.GetHashCode">
      <summary>
            Returns the hash code of this XRI.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.ToString">
      <summary>
            Returns the string form of the URI.
            </summary>
      <returns>
            A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </returns>
      <ensures inheritedFrom="M:System.Object.ToString" inheritedFromTypeName="Object">Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.IsValidUri(System.String)">
      <summary>
            Determines whether a URI is a valid OpenID Identifier (of any kind).
            </summary>
      <param name="uri">The URI to test for OpenID validity.</param>
      <returns>
        <c>true</c> if the identifier is valid; otherwise, <c>false</c>.
            </returns>
      <remarks>
            A valid URI is absolute (not relative) and uses an http(s) scheme.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.IsValidUri(System.Uri)">
      <summary>
            Determines whether a URI is a valid OpenID Identifier (of any kind).
            </summary>
      <param name="uri">The URI to test for OpenID validity.</param>
      <returns>
        <c>true</c> if the identifier is valid; otherwise, <c>false</c>.
            </returns>
      <remarks>
            A valid URI is absolute (not relative) and uses an http(s) scheme.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.TrimFragment">
      <summary>
            Returns an <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> that has no URI fragment.
            Quietly returns the original <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> if it is not
            a <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" /> or no fragment exists.
            </summary>
      <returns>
            A new <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> instance if there was a
            fragment to remove, otherwise this same instance..
            </returns>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Identifier.TrimFragment" inheritedFromTypeName="Identifier">Contract.Result&lt;Identifier&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.TryRequireSsl(DotNetOpenAuth.OpenId.Identifier@)">
      <summary>
            Converts a given identifier to its secure equivalent.
            UriIdentifiers originally created with an implied HTTP scheme change to HTTPS.
            Discovery is made to require SSL for the entire resolution process.
            </summary>
      <param name="secureIdentifier">The newly created secure identifier.
            If the conversion fails, <paramref name="secureIdentifier" /> retains
            <i>this</i> identifiers identity, but will never discover any endpoints.</param>
      <returns>
            True if the secure conversion was successful.
            False if the Identifier was originally created with an explicit HTTP scheme.
            </returns>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Identifier.TryRequireSsl(DotNetOpenAuth.OpenId.Identifier@)" inheritedFromTypeName="Identifier">Contract.ValueAtReturn(out secureIdentifier) != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.IsAllowedScheme(System.String)">
      <summary>
            Determines whether the given URI is using a scheme in the list of allowed schemes.
            </summary>
      <param name="uri">The URI whose scheme is to be checked.</param>
      <returns>
        <c>true</c> if the scheme is allowed; otherwise, <c>false</c>.
            	<c>false</c> is also returned if <paramref name="uri" /> is null.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.IsAllowedScheme(System.Uri)">
      <summary>
            Determines whether the given URI is using a scheme in the list of allowed schemes.
            </summary>
      <param name="uri">The URI whose scheme is to be checked.</param>
      <returns>
        <c>true</c> if the scheme is allowed; otherwise, <c>false</c>.
            	<c>false</c> is also returned if <paramref name="uri" /> is null.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.TryCanonicalize(System.String,System.Uri@,System.Boolean,System.Boolean@)">
      <summary>
            Tries to canonicalize a user-supplied identifier.
            This does NOT convert a user-supplied identifier to a Claimed Identifier!
            </summary>
      <param name="uri">The user-supplied identifier.</param>
      <param name="canonicalUri">The resulting canonical URI.</param>
      <param name="forceHttpsDefaultScheme">If set to <c>true</c> and the user-supplied identifier lacks a scheme, the "https://" scheme will be prepended instead of the standard "http://" one.</param>
      <param name="schemePrepended">if set to <c>true</c> [scheme prepended].</param>
      <returns>
        <c>true</c> if the identifier was valid and could be canonicalized.
            <c>false</c> if the identifier is outside the scope of allowed inputs and should be rejected.
            </returns>
      <remarks>
            Canonicalization is done by adding a scheme in front of an
            identifier if it isn't already present.  Other trivial changes that do not
            require network access are also done, such as lower-casing the hostname in the URI.
            </remarks>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(uri)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(uri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.TryCanonicalize(System.String,System.Uri@)">
      <summary>
            Fixes up the scheme if appropriate.
            </summary>
      <param name="uri">The URI, already in legal form (with http(s):// prepended if necessary).</param>
      <param name="canonicalUri">The resulting canonical URI.</param>
      <returns>
        <c>true</c> if the canonicalization was successful; <c>false</c> otherwise.</returns>
      <remarks>
            This does NOT standardize an OpenID URL for storage in a database, as
            it does nothing to convert the URL to a Claimed Identifier, besides the fact
            that it only deals with URLs whereas OpenID 2.0 supports XRIs.
            For this, you should lookup the value stored in IAuthenticationResponse.ClaimedIdentifier.
            </remarks>
      <requires exception="T:System.ArgumentNullException">uri != null</requires>
      <exception cref="T:System.ArgumentNullException">uri == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.NormalSchemeToSpecialRoundTrippingScheme(System.String)">
      <summary>
            Gets the special non-compressing scheme or URL for a standard scheme or URL.
            </summary>
      <param name="normal">The ordinary URL or scheme name.</param>
      <returns>The non-compressing equivalent scheme or URL for the given value.</returns>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(normal)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(normal)</exception>
      <requires exception="T:DotNetOpenAuth.Messaging.InternalErrorException">schemeSubstitution</requires>
      <exception cref="T:DotNetOpenAuth.Messaging.InternalErrorException">!(schemeSubstitution)</exception>
      <ensures>!string.IsNullOrEmpty(Contract.Result&lt;string&gt;())</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.DoSimpleCanonicalize(System.String,System.Boolean,System.Boolean@)">
      <summary>
            Performs the minimal URL normalization to allow a string to be passed to the <see cref="P:DotNetOpenAuth.OpenId.UriIdentifier.Uri" /> constructor.
            </summary>
      <param name="uri">The user-supplied identifier URI to normalize.</param>
      <param name="forceHttpsDefaultScheme">if set to <c>true</c>, a missing scheme should result in HTTPS being prepended instead of HTTP.</param>
      <param name="schemePrepended">if set to <c>true</c>, the scheme was prepended during normalization.</param>
      <returns>The somewhat normalized URL.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(uri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(uri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.UriIdentifier.SchemeSubstitutionTestHook">
      <summary>
            Gets or sets a value indicating whether scheme substitution is being used to workaround
            .NET path compression that invalidates some OpenIDs that have trailing periods
            in one of their path segments.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.UriIdentifier.Uri">
      <summary>
            Gets the URI this instance represents.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.UriIdentifier.SchemeImplicitlyPrepended">
      <summary>
            Gets a value indicating whether the scheme was missing when this 
            Identifier was created and added automatically as part of the 
            normalization process.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.UriIdentifier.ProblematicNormalization">
      <summary>
            Gets a value indicating whether this Identifier has characters or patterns that
            the <see cref="P:DotNetOpenAuth.OpenId.UriIdentifier.Uri" /> class normalizes away and invalidating the Identifier.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri">
      <summary>
            A simple URI class that doesn't suffer from the parsing problems of the <see cref="P:DotNetOpenAuth.OpenId.UriIdentifier.Uri" /> class.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri.PathEndingCharacters">
      <summary>
            URI characters that separate the URI Path from subsequent elements.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri" /> class.
            </summary>
      <param name="value">The value.</param>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(value)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(value)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri.ToString">
      <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
      <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
      <ensures inheritedFrom="M:System.Object.ToString" inheritedFromTypeName="Object">Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri.Equals(System.Object)">
      <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to this instance.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
      <returns>
        <c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri.GetHashCode">
      <summary>
            Returns a hash code for this instance.
            </summary>
      <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri.NormalizePathEscaping(System.String)">
      <summary>
            Normalizes the characters that are escaped in the given URI path.
            </summary>
      <param name="path">The path to normalize.</param>
      <returns>The given path, with exactly those characters escaped which should be.</returns>
      <requires exception="T:System.ArgumentNullException">path != null</requires>
      <exception cref="T:System.ArgumentNullException">path == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri.Scheme">
      <summary>
            Gets the scheme.
            </summary>
      <value>The scheme.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri.Authority">
      <summary>
            Gets the authority.
            </summary>
      <value>The authority.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri.Path">
      <summary>
            Gets the path of the URI.
            </summary>
      <value>The path from the URI.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri.Query">
      <summary>
            Gets the query.
            </summary>
      <value>The query.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.UriIdentifier.SimpleUri.Fragment">
      <summary>
            Gets the fragment.
            </summary>
      <value>The fragment.</value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.UriIdentifier.NonPathCompressingUriParser">
      <summary>
            A URI parser that does not compress paths, such as trimming trailing periods from path segments.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.UriIdentifier.NonPathCompressingUriParser.schemeField">
      <summary>
            The field that stores the scheme that this parser is registered under.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.UriIdentifier.NonPathCompressingUriParser.standardScheme">
      <summary>
            The standard "http" or "https" scheme that this parser is subverting.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.NonPathCompressingUriParser.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier.NonPathCompressingUriParser" /> class.
            </summary>
      <param name="standardScheme">The standard scheme that this parser will be subverting.</param>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(standardScheme)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(standardScheme)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.UriIdentifier.NonPathCompressingUriParser.Initialize(System.Boolean)">
      <summary>
            Initializes this parser with the actual scheme it should appear to be.
            </summary>
      <param name="hideNonStandardScheme">if set to <c>true</c> Uris using this scheme will look like they're using the original standard scheme.</param>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.UriIdentifier.NonPathCompressingUriParser.RegisteredScheme">
      <summary>
            Gets the scheme this parser is registered under.
            </summary>
      <value>The registered scheme.</value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.XriDiscoveryProxyService">
      <summary>
            The discovery service for XRI identifiers that uses an XRI proxy resolver for discovery.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.XriDiscoveryProxyService.XriResolverProxyTemplate">
      <summary>
            The magic URL that will provide us an XRDS document for a given XRI identifier.
            </summary>
      <remarks>
            We use application/xrd+xml instead of application/xrds+xml because it gets
            xri.net to automatically give us exactly the right XRD element for community i-names
            automatically, saving us having to choose which one to use out of the result.
            The ssl=true parameter tells the proxy resolver to accept only SSL connections
            when resolving community i-names.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriDiscoveryProxyService.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.XriDiscoveryProxyService" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriDiscoveryProxyService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)">
      <summary>
            Performs discovery on the specified identifier.
            </summary>
      <param name="identifier">The identifier to perform discovery on.</param>
      <param name="requestHandler">The means to place outgoing HTTP requests.</param>
      <param name="abortDiscoveryChain">if set to <c>true</c>, no further discovery services will be called for this identifier.</param>
      <returns>
            A sequence of service endpoints yielded by discovery.  Must not be null, but may be empty.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.IIdentifierDiscoveryService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)" inheritedFromTypeName="IIdentifierDiscoveryService" exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.IIdentifierDiscoveryService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)" inheritedFromTypeName="IIdentifierDiscoveryService" exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.IIdentifierDiscoveryService.Discover(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Boolean@)" inheritedFromTypeName="IIdentifierDiscoveryService">Contract.Result&lt;IEnumerable&lt;IdentifierDiscoveryResult&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriDiscoveryProxyService.DownloadXrds(DotNetOpenAuth.OpenId.XriIdentifier,DotNetOpenAuth.Messaging.IDirectWebRequestHandler)">
      <summary>
            Downloads the XRDS document for this XRI.
            </summary>
      <param name="identifier">The identifier.</param>
      <param name="requestHandler">The request handler.</param>
      <returns>The XRDS document.</returns>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
      <requires exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
      <ensures>Contract.Result&lt;XrdsDocument&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriDiscoveryProxyService.GetXrdsUrl(DotNetOpenAuth.OpenId.XriIdentifier)">
      <summary>
            Gets the URL from which this XRI's XRDS document may be downloaded.
            </summary>
      <param name="identifier">The identifier.</param>
      <returns>The URI to HTTP GET from to get the services.</returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.XriIdentifier">
      <summary>
            An XRI style of OpenID Identifier.
            </summary>
      <invariant>this.canonicalXri != null</invariant>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.XriIdentifier.XriScheme">
      <summary>
            The scheme and separator "xri://"
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.XriIdentifier.GlobalContextSymbols">
      <summary>
            An XRI always starts with one of these symbols.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.XriIdentifier.canonicalXri">
      <summary>
            Backing store for the <see cref="P:DotNetOpenAuth.OpenId.XriIdentifier.CanonicalXri" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriIdentifier.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.XriIdentifier" /> class.
            </summary>
      <param name="xri">The string value of the XRI.</param>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(xri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(xri)</exception>
      <requires exception="T:System.FormatException">IsValidXri(xri)</requires>
      <exception cref="T:System.FormatException">!(IsValidXri(xri))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriIdentifier.#ctor(System.String,System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.XriIdentifier" /> class.
            </summary>
      <param name="xri">The XRI that this Identifier will represent.</param>
      <param name="requireSsl">
            If set to <c>true</c>, discovery and the initial authentication redirect will
            only succeed if it can be done entirely using SSL.
            </param>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(xri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(xri)</exception>
      <requires exception="T:System.FormatException">IsValidXri(xri)</requires>
      <exception cref="T:System.FormatException">!(IsValidXri(xri))</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriIdentifier.Equals(System.Object)">
      <summary>
            Tests equality between this XRI and another XRI.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
            </returns>
      <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriIdentifier.GetHashCode">
      <summary>
            Returns the hash code of this XRI.
            </summary>
      <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriIdentifier.ToString">
      <summary>
            Returns the canonical string form of the XRI.
            </summary>
      <returns>
            A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </returns>
      <ensures inheritedFrom="M:System.Object.ToString" inheritedFromTypeName="Object">Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriIdentifier.IsValidXri(System.String)">
      <summary>
            Tests whether a given string represents a valid XRI format.
            </summary>
      <param name="xri">The value to test for XRI validity.</param>
      <returns>
        <c>true</c> if the given string constitutes a valid XRI; otherwise, <c>false</c>.
            </returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(xri)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(xri)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriIdentifier.TrimFragment">
      <summary>
            Returns an <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> that has no URI fragment.
            Quietly returns the original <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> if it is not
            a <see cref="T:DotNetOpenAuth.OpenId.UriIdentifier" /> or no fragment exists.
            </summary>
      <returns>
            A new <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> instance if there was a
            fragment to remove, otherwise this same instance..
            </returns>
      <remarks>
            XRI Identifiers never have a fragment part, and thus this method
            always returns this same instance.
            </remarks>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Identifier.TrimFragment" inheritedFromTypeName="Identifier">Contract.Result&lt;Identifier&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriIdentifier.TryRequireSsl(DotNetOpenAuth.OpenId.Identifier@)">
      <summary>
            Converts a given identifier to its secure equivalent.
            UriIdentifiers originally created with an implied HTTP scheme change to HTTPS.
            Discovery is made to require SSL for the entire resolution process.
            </summary>
      <param name="secureIdentifier">The newly created secure identifier.
            If the conversion fails, <paramref name="secureIdentifier" /> retains
            <i>this</i> identifiers identity, but will never discover any endpoints.</param>
      <returns>
            True if the secure conversion was successful.
            False if the Identifier was originally created with an explicit HTTP scheme.
            </returns>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Identifier.TryRequireSsl(DotNetOpenAuth.OpenId.Identifier@)" inheritedFromTypeName="Identifier">Contract.ValueAtReturn(out secureIdentifier) != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriIdentifier.CanonicalizeXri(System.String)">
      <summary>
            Takes any valid form of XRI string and returns the canonical form of the same XRI.
            </summary>
      <param name="xri">The xri to canonicalize.</param>
      <returns>The canonicalized form of the XRI.</returns>
      <remarks>The canonical form, per the OpenID spec, is no scheme and no whitespace on either end.</remarks>
      <requires exception="T:System.ArgumentNullException">xri != null</requires>
      <exception cref="T:System.ArgumentNullException">xri == null</exception>
      <ensures>Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.XriIdentifier.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.XriIdentifier.OriginalXri">
      <summary>
            Gets the original XRI supplied to the constructor.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.XriIdentifier.CanonicalXri">
      <summary>
            Gets the canonical form of the XRI string.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;string&gt;() != null</ensures>
      </getter>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest">
      <summary>
            A direct message sent from Consumer to Service Provider to request a Request Token.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest.#ctor(DotNetOpenAuth.Messaging.MessageReceivingEndpoint,System.Version)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest" /> class.
            </summary>
      <param name="serviceProvider">The URI of the Service Provider endpoint to send this message to.</param>
      <param name="version">The OAuth version.</param>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest.Callback">
      <summary>
            Gets or sets the absolute URL to which the Service Provider will redirect the
            User back when the Obtaining User Authorization step is completed.
            </summary>
      <value>
            The callback URL; or <c>null</c> if the Consumer is unable to receive
            callbacks or a callback URL has been established via other means.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest.ExtraData">
      <summary>
            Gets the extra, non-OAuth parameters that will be included in the message.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ChannelElements.RsaSha1SigningBindingElement">
      <summary>
            A binding element that signs outgoing messages and verifies the signature on incoming messages.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ChannelElements.RsaSha1SigningBindingElement.HashAlgorithmName">
      <summary>
            The name of the hash algorithm to use.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ChannelElements.RsaSha1SigningBindingElement.tokenManager">
      <summary>
            The token manager for the service provider.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.RsaSha1SigningBindingElement.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate2)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.RsaSha1SigningBindingElement" /> class
            for use by Consumers.
            </summary>
      <param name="signingCertificate">The certificate used to sign outgoing messages.</param>
      <requires exception="T:System.ArgumentNullException">signingCertificate != null</requires>
      <exception cref="T:System.ArgumentNullException">signingCertificate == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.RsaSha1SigningBindingElement.#ctor(DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ChannelElements.RsaSha1SigningBindingElement" /> class
            for use by Service Providers.
            </summary>
      <param name="tokenManager">The token manager.</param>
      <requires exception="T:System.ArgumentNullException">tokenManager != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenManager == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.RsaSha1SigningBindingElement.GetSignature(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)">
      <summary>
            Calculates a signature for a given message.
            </summary>
      <param name="message">The message to sign.</param>
      <returns>The signature for the message.</returns>
      <remarks>
            This method signs the message per OAuth 1.0 section 9.3.
            </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.GetSignature(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)" inheritedFromTypeName="SigningBindingElementBase" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.GetSignature(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)" inheritedFromTypeName="SigningBindingElementBase" exception="T:System.InvalidOperationException">this.Channel != null</requires>
      <exception cref="T:System.InvalidOperationException">this.Channel == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.RsaSha1SigningBindingElement.IsSignatureValid(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)">
      <summary>
            Determines whether the signature on some message is valid.
            </summary>
      <param name="message">The message to check the signature on.</param>
      <returns>
        <c>true</c> if the signature on the message is valid; otherwise, <c>false</c>.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.OAuth.ChannelElements.SigningBindingElementBase.IsSignatureValid(DotNetOpenAuth.OAuth.ChannelElements.ITamperResistantOAuthMessage)" inheritedFromTypeName="SigningBindingElementBase" exception="T:System.ArgumentNullException">message != null</requires>
      <exception cref="T:System.ArgumentNullException">message == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ChannelElements.RsaSha1SigningBindingElement.Clone">
      <summary>
            Clones this instance.
            </summary>
      <returns>A new instance of the binding element.</returns>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ChannelElements.RsaSha1SigningBindingElement.SigningCertificate">
      <summary>
            Gets or sets the certificate used to sign outgoing messages.  Used only by Consumers.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.StandardWebRequestHandler">
      <summary>
            The default handler for transmitting <see cref="T:System.Net.HttpWebRequest" /> instances
            and returning the responses.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.StandardWebRequestHandler.SupportedOptions">
      <summary>
            The set of options this web request handler supports.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Messaging.StandardWebRequestHandler.userAgentValue">
      <summary>
            The value to use for the User-Agent HTTP header.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.StandardWebRequestHandler.CanSupport(DotNetOpenAuth.Messaging.DirectWebRequestOptions)">
      <summary>
            Determines whether this instance can support the specified options.
            </summary>
      <param name="options">The set of options that might be given in a subsequent web request.</param>
      <returns>
        <c>true</c> if this instance can support the specified options; otherwise, <c>false</c>.
            </returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStream(System.Net.HttpWebRequest)">
      <summary>
            Prepares an <see cref="T:System.Net.HttpWebRequest" /> that contains an POST entity for sending the entity.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> that should contain the entity.</param>
      <returns>
            The writer the caller should write out the entity data to.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>The caller should have set the <see cref="P:System.Net.HttpWebRequest.ContentLength" />
            and any other appropriate properties <i>before</i> calling this method.</para>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetRequestStream(System.Net.HttpWebRequest)" inheritedFromTypeName="IDirectWebRequestHandler" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStream(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)">
      <summary>
            Prepares an <see cref="T:System.Net.HttpWebRequest" /> that contains an POST entity for sending the entity.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> that should contain the entity.</param>
      <param name="options">The options to apply to this web request.</param>
      <returns>
            The writer the caller should write out the entity data to.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>The caller should have set the <see cref="P:System.Net.HttpWebRequest.ContentLength" />
            and any other appropriate properties <i>before</i> calling this method.</para>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetRequestStream(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)" inheritedFromTypeName="IDirectWebRequestHandler" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetRequestStream(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)" inheritedFromTypeName="IDirectWebRequestHandler" exception="T:System.NotSupportedException">((IDirectWebRequestHandler)this).CanSupport(options)</requires>
      <exception cref="T:System.NotSupportedException">!(((IDirectWebRequestHandler)this).CanSupport(options))</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(System.Net.HttpWebRequest)">
      <summary>
            Processes an <see cref="T:System.Net.HttpWebRequest" /> and converts the
            <see cref="T:System.Net.HttpWebResponse" /> to a <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> instance.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> to handle.</param>
      <returns>
            An instance of <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> describing the response.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.  The <see cref="P:System.Net.WebException.Response" />
            value, if set, should be Closed before throwing.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest)" inheritedFromTypeName="IDirectWebRequestHandler" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest)" inheritedFromTypeName="IDirectWebRequestHandler">Contract.Result&lt;IncomingWebResponse&gt;() != null</ensures>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest)" inheritedFromTypeName="IDirectWebRequestHandler">Contract.Result&lt;IncomingWebResponse&gt;().ResponseStream != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)">
      <summary>
            Processes an <see cref="T:System.Net.HttpWebRequest" /> and converts the
            <see cref="T:System.Net.HttpWebResponse" /> to a <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> instance.
            </summary>
      <param name="request">The <see cref="T:System.Net.HttpWebRequest" /> to handle.</param>
      <param name="options">The options to apply to this web request.</param>
      <returns>
            An instance of <see cref="T:DotNetOpenAuth.Messaging.IncomingWebResponse" /> describing the response.
            </returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown for any network error.</exception>
      <remarks>
        <para>Implementations should catch <see cref="T:System.Net.WebException" /> and wrap it in a
            <see cref="T:DotNetOpenAuth.Messaging.ProtocolException" /> to abstract away the transport and provide
            a single exception type for hosts to catch.  The <see cref="P:System.Net.WebException.Response" />
            value, if set, should be Closed before throwing.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)" inheritedFromTypeName="IDirectWebRequestHandler" exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)" inheritedFromTypeName="IDirectWebRequestHandler" exception="T:System.NotSupportedException">((IDirectWebRequestHandler)this).CanSupport(options)</requires>
      <exception cref="T:System.NotSupportedException">!(((IDirectWebRequestHandler)this).CanSupport(options))</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)" inheritedFromTypeName="IDirectWebRequestHandler">Contract.Result&lt;IncomingWebResponse&gt;() != null</ensures>
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IDirectWebRequestHandler.GetResponse(System.Net.HttpWebRequest,DotNetOpenAuth.Messaging.DirectWebRequestOptions)" inheritedFromTypeName="IDirectWebRequestHandler">Contract.Result&lt;IncomingWebResponse&gt;().ResponseStream != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.StandardWebRequestHandler.IsExceptionFrom417ExpectationFailed(System.Exception)">
      <summary>
            Determines whether an exception was thrown because of the remote HTTP server returning HTTP 417 Expectation Failed.
            </summary>
      <param name="ex">The caught exception.</param>
      <returns>
        <c>true</c> if the failure was originally caused by a 417 Exceptation Failed error; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStreamCore(System.Net.HttpWebRequest)">
      <summary>
            Initiates a POST request and prepares for sending data.
            </summary>
      <param name="request">The HTTP request with information about the remote party to contact.</param>
      <returns>
            The stream where the POST entity can be written.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.StandardWebRequestHandler.PrepareRequest(System.Net.HttpWebRequest,System.Boolean)">
      <summary>
            Prepares an HTTP request.
            </summary>
      <param name="request">The request.</param>
      <param name="preparingPost">
        <c>true</c> if this is a POST request whose headers have not yet been sent out; <c>false</c> otherwise.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.Messaging.MessageReceivingEndpoint">
      <summary>
            An immutable description of a URL that receives messages.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessageReceivingEndpoint.#ctor(System.String,DotNetOpenAuth.Messaging.HttpDeliveryMethods)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.MessageReceivingEndpoint" /> class.
            </summary>
      <param name="locationUri">The URL of this endpoint.</param>
      <param name="method">The HTTP method(s) allowed.</param>
      <requires exception="T:System.ArgumentNullException">locationUri != null</requires>
      <exception cref="T:System.ArgumentNullException">locationUri == null</exception>
      <requires exception="T:System.ArgumentOutOfRangeException">method != HttpDeliveryMethods.None</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">method == HttpDeliveryMethods.None</exception>
      <requires exception="T:System.ArgumentOutOfRangeException">(method &amp; HttpDeliveryMethods.HttpVerbMask) != 0</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">!((method &amp; HttpDeliveryMethods.HttpVerbMask) != 0)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.MessageReceivingEndpoint.#ctor(System.Uri,DotNetOpenAuth.Messaging.HttpDeliveryMethods)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Messaging.MessageReceivingEndpoint" /> class.
            </summary>
      <param name="location">The URL of this endpoint.</param>
      <param name="method">The HTTP method(s) allowed.</param>
      <requires exception="T:System.ArgumentNullException">location != null</requires>
      <exception cref="T:System.ArgumentNullException">location == null</exception>
      <requires exception="T:System.ArgumentOutOfRangeException">method != HttpDeliveryMethods.None</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">method == HttpDeliveryMethods.None</exception>
      <requires exception="T:System.ArgumentOutOfRangeException">(method &amp; HttpDeliveryMethods.HttpVerbMask) != 0</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">!((method &amp; HttpDeliveryMethods.HttpVerbMask) != 0)</exception>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessageReceivingEndpoint.Location">
      <summary>
            Gets the URL of this endpoint.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Messaging.MessageReceivingEndpoint.AllowedMethods">
      <summary>
            Gets the HTTP method(s) allowed.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Reporting">
      <summary>
            The statistical reporting mechanism used so this library's project authors
            know what versions and features are in use.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.Utf8NoPreamble">
      <summary>
            A UTF8 encoder that doesn't emit the preamble.  Used for mid-stream writers.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.enabled">
      <summary>
            A value indicating whether reporting is desirable or not.  Must be logical-AND'd with !<see cref="F:DotNetOpenAuth.Reporting.broken" />.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.broken">
      <summary>
            A value indicating whether reporting experienced an error and cannot be enabled.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.initialized">
      <summary>
            A value indicating whether the reporting class has been initialized or not.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.initializationSync">
      <summary>
            The object to lock during initialization.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.file">
      <summary>
            The isolated storage to use for collecting data in between published reports.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.reportOriginIdentity">
      <summary>
            The GUID that shows up at the top of all reports from this user/machine/domain.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.wellKnownPostLocation">
      <summary>
            The recipient of collected reports.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.webRequestHandler">
      <summary>
            The outgoing HTTP request handler to use for publishing reports.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.observedRequests">
      <summary>
            A few HTTP request hosts and paths we've seen.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.observedCultures">
      <summary>
            Cultures that have come in via HTTP requests.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.observedFeatures">
      <summary>
            Features that have been used.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.observations">
      <summary>
            A collection of all the observations to include in the report.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.events">
      <summary>
            The named events that we have counters for.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.publishingConsiderationLock">
      <summary>
            The lock acquired while considering whether to publish a report.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.lastPublished">
      <summary>
            The time that we last published reports.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.#cctor">
      <summary>
            Initializes static members of the <see cref="T:DotNetOpenAuth.Reporting" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.RecordEventOccurrence(System.String,System.String)">
      <summary>
            Records an event occurrence.
            </summary>
      <param name="eventName">Name of the event.</param>
      <param name="category">The category within the event.  Null and empty strings are allowed, but considered the same.</param>
      <requires>!String.IsNullOrEmpty(eventName)</requires>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.RecordEventOccurrence(System.Object,System.String)">
      <summary>
            Records an event occurence.
            </summary>
      <param name="eventNameByObjectType">The object whose type name is the event name to record.</param>
      <param name="category">The category within the event.  Null and empty strings are allowed, but considered the same.</param>
      <requires>eventNameByObjectType != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.RecordFeatureUse(System.String)">
      <summary>
            Records the use of a feature by name.
            </summary>
      <param name="feature">The feature.</param>
      <requires>!String.IsNullOrEmpty(feature)</requires>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.RecordFeatureUse(System.Object)">
      <summary>
            Records the use of a feature by object type.
            </summary>
      <param name="value">The object whose type is the feature to set as used.</param>
      <requires>value != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.RecordFeatureAndDependencyUse(System.Object,System.Object,System.Object)">
      <summary>
            Records the use of a feature by object type.
            </summary>
      <param name="value">The object whose type is the feature to set as used.</param>
      <param name="dependency1">Some dependency used by <paramref name="value" />.</param>
      <param name="dependency2">Some dependency used by <paramref name="value" />.</param>
      <requires>value != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.RecordFeatureAndDependencyUse(System.Object,DotNetOpenAuth.OAuth.ServiceProviderDescription,DotNetOpenAuth.OAuth.ChannelElements.ITokenManager,DotNetOpenAuth.Messaging.Bindings.INonceStore)">
      <summary>
            Records the feature and dependency use.
            </summary>
      <param name="value">The consumer or service provider.</param>
      <param name="service">The service.</param>
      <param name="tokenManager">The token manager.</param>
      <param name="nonceStore">The nonce store.</param>
      <requires>value != null</requires>
      <requires>service != null</requires>
      <requires>tokenManager != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.RecordRequestStatistics(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Records statistics collected from incoming requests.
            </summary>
      <param name="request">The request.</param>
      <requires>request != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.Initialize">
      <summary>
            Initializes Reporting if it has not been initialized yet.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.GetReport">
      <summary>
            Assembles a report for submission.
            </summary>
      <returns>A stream that contains the report.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.SendStats">
      <summary>
            Sends the usage reports to the library authors.
            </summary>
      <returns>A value indicating whether submitting the report was successful.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.DemuxLogMessage(System.String)">
      <summary>
            Interprets the reporting response as a log message if possible.
            </summary>
      <param name="line">The line from the HTTP response to interpret as a log message.</param>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.Touch">
      <summary>
            Called by every internal/public method on this class to give
            periodic operations a chance to run.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.SendStatsAsync">
      <summary>
            Sends the stats report asynchronously, and careful to not throw any unhandled exceptions.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.GetIsolatedStorage">
      <summary>
            Gets the isolated storage to use for reporting.
            </summary>
      <returns>An isolated storage location appropriate for our host.</returns>
      <ensures>Contract.Result&lt;IsolatedStorageFile&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.GetOrCreateOriginIdentity">
      <summary>
            Gets a unique, pseudonymous identifier for this particular web site or application.  
            </summary>
      <returns>A GUID that will serve as the identifier.</returns>
      <remarks>
            The identifier is made persistent by storing the identifier in isolated storage.
            If an existing identifier is not found, a new one is created, persisted, and returned.
            </remarks>
      <requires exception="T:System.InvalidOperationException">file != null</requires>
      <exception cref="T:System.InvalidOperationException">file == null</exception>
      <ensures>Contract.Result&lt;Guid&gt;() != Guid.Empty</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.SanitizeFileName(System.String)">
      <summary>
            Sanitizes the name of the file so it only includes valid filename characters.
            </summary>
      <param name="fileName">The filename to sanitize.</param>
      <returns>The filename, with any and all invalid filename characters replaced with the hyphen (-) character.</returns>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(fileName)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(fileName)</exception>
    </member>
    <member name="P:DotNetOpenAuth.Reporting.Enabled">
      <summary>
            Gets or sets a value indicating whether this reporting is enabled.
            </summary>
      <value>
        <c>true</c> if enabled; otherwise, <c>false</c>.</value>
      <remarks>
            Setting this property to <c>true</c><i>may</i> have no effect
            if reporting has already experienced a failure of some kind.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.Reporting.Configuration">
      <summary>
            Gets the configuration to use for reporting.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Reporting.PersistentHashSet">
      <summary>
            A set of values that persist the set to disk.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentHashSet.fileStream">
      <summary>
            The isolated persistent storage.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentHashSet.reader">
      <summary>
            The persistent reader.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentHashSet.writer">
      <summary>
            The persistent writer.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentHashSet.memorySet">
      <summary>
            The total set of elements.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentHashSet.maximumElements">
      <summary>
            The maximum number of elements to track before not storing new elements.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentHashSet.newElements">
      <summary>
            The set of new elements added to the <see cref="F:DotNetOpenAuth.Reporting.PersistentHashSet.memorySet" /> since the last flush.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentHashSet.lastFlushed">
      <summary>
            The time the last flush occurred.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentHashSet.dirty">
      <summary>
            A flag indicating whether the set has changed since it was last flushed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.PersistentHashSet.#ctor(System.IO.IsolatedStorage.IsolatedStorageFile,System.String,System.Int32)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Reporting.PersistentHashSet" /> class.
            </summary>
      <param name="storage">The storage location.</param>
      <param name="fileName">Name of the file.</param>
      <param name="maximumElements">The maximum number of elements to track.</param>
      <requires exception="T:System.ArgumentNullException">storage != null</requires>
      <exception cref="T:System.ArgumentNullException">storage == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(fileName)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(fileName)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.PersistentHashSet.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.PersistentHashSet.Add(System.String)">
      <summary>
            Adds a value to the set.
            </summary>
      <param name="value">The value.</param>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.PersistentHashSet.Flush">
      <summary>
            Flushes any newly added values to disk.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.PersistentHashSet.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="P:DotNetOpenAuth.Reporting.PersistentHashSet.IsFull">
      <summary>
            Gets a value indicating whether the hashset has reached capacity and is not storing more elements.
            </summary>
      <value>
        <c>true</c> if this instance is full; otherwise, <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.Reporting.PersistentHashSet.FileName">
      <summary>
            Gets the name of the file.
            </summary>
      <value>The name of the file.</value>
    </member>
    <member name="T:DotNetOpenAuth.Reporting.PersistentCounter">
      <summary>
            A feature usage counter.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentCounter.separator">
      <summary>
            The separator to use between category names and their individual counters.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentCounter.fileStream">
      <summary>
            The isolated persistent storage.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentCounter.reader">
      <summary>
            The persistent reader.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentCounter.writer">
      <summary>
            The persistent writer.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentCounter.lastFlushed">
      <summary>
            The time the last flush occurred.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentCounter.counters">
      <summary>
            The in-memory copy of the counter.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Reporting.PersistentCounter.dirty">
      <summary>
            A flag indicating whether the set has changed since it was last flushed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.PersistentCounter.#ctor(System.IO.IsolatedStorage.IsolatedStorageFile,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Reporting.PersistentCounter" /> class.
            </summary>
      <param name="storage">The storage location.</param>
      <param name="fileName">Name of the file.</param>
      <requires exception="T:System.ArgumentNullException">storage != null</requires>
      <exception cref="T:System.ArgumentNullException">storage == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(fileName)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(fileName)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.PersistentCounter.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.PersistentCounter.Increment(System.String)">
      <summary>
            Increments the counter.
            </summary>
      <param name="category">The category within the event.  Null and empty strings are allowed, but considered the same.</param>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.PersistentCounter.Flush">
      <summary>
            Flushes any newly added values to disk.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.PersistentCounter.Reset">
      <summary>
            Resets all counters.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Reporting.PersistentCounter.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="P:DotNetOpenAuth.Reporting.PersistentCounter.FileName">
      <summary>
            Gets the name of the file.
            </summary>
      <value>The name of the file.</value>
    </member>
    <member name="T:DotNetOpenAuth.Util">
      <summary>
            A grab-bag utility class.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Util.DefaultNamespace">
      <summary>
            The base namespace for this library from which all other namespaces derive.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Util.embeddedResourceRetrieval">
      <summary>
            The web.config file-specified provider of web resource URLs.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Util.EqualsNullSafe``1(``0,``0)">
      <summary>
            Tests for equality between two objects.  Safely handles the case where one or both are null.
            </summary>
      <typeparam name="T">The type of objects been checked for equality.</typeparam>
      <param name="first">The first object.</param>
      <param name="second">The second object.</param>
      <returns>
        <c>true</c> if the two objects are equal; <c>false</c> otherwise.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Util.ToStringDeferred``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
      <summary>
            Prepares a dictionary for printing as a string.
            </summary>
      <typeparam name="K">The type of the key.</typeparam>
      <typeparam name="V">The type of the value.</typeparam>
      <param name="pairs">The dictionary or sequence of name-value pairs.</param>
      <returns>An object whose ToString method will perform the actual work of generating the string.</returns>
      <remarks>
            The work isn't done until (and if) the
            <see cref="M:System.Object.ToString" /> method is actually called, which makes it great
            for logging complex objects without being in a conditional block.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.Util.ToStringDeferred``1(System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Offers deferred ToString processing for a list of elements, that are assumed
            to generate just a single-line string.
            </summary>
      <typeparam name="T">The type of elements contained in the list.</typeparam>
      <param name="list">The list of elements.</param>
      <returns>An object whose ToString method will perform the actual work of generating the string.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Util.ToStringDeferred``1(System.Collections.Generic.IEnumerable{``0},System.Boolean)">
      <summary>
            Offers deferred ToString processing for a list of elements.
            </summary>
      <typeparam name="T">The type of elements contained in the list.</typeparam>
      <param name="list">The list of elements.</param>
      <param name="multiLineElements">if set to <c>true</c>, special formatting will be applied to the output to make it clear where one element ends and the next begins.</param>
      <returns>An object whose ToString method will perform the actual work of generating the string.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Util.GetWebResourceUrl(System.Type,System.String)">
      <summary>
            Gets the web resource URL from a Page or <see cref="T:DotNetOpenAuth.IEmbeddedResourceRetrieval" /> object.
            </summary>
      <param name="someTypeInResourceAssembly">Some type in resource assembly.</param>
      <param name="manifestResourceName">Name of the manifest resource.</param>
      <returns>An absolute URL</returns>
    </member>
    <member name="P:DotNetOpenAuth.Util.LibraryVersion">
      <summary>
            Gets a human-readable description of the library name and version, including
            whether the build is an official or private one.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Util.DelayedToString`1">
      <summary>
            Manages an individual deferred ToString call.
            </summary>
      <typeparam name="T">The type of object to be serialized as a string.</typeparam>
    </member>
    <member name="F:DotNetOpenAuth.Util.DelayedToString`1.obj">
      <summary>
            The object that will be serialized if called upon.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Util.DelayedToString`1.toString">
      <summary>
            The method used to serialize <see cref="F:DotNetOpenAuth.Util.DelayedToString`1.obj" /> to string form.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Util.DelayedToString`1.#ctor(`0,System.Func{`0,System.String})">
      <summary>
            Initializes a new instance of the DelayedToString class.
            </summary>
      <param name="obj">The object that may be serialized to string form.</param>
      <param name="toString">The method that will serialize the object if called upon.</param>
      <requires exception="T:System.ArgumentNullException">toString != null</requires>
      <exception cref="T:System.ArgumentNullException">toString == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Util.DelayedToString`1.ToString">
      <summary>
            Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </summary>
      <returns>
            A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </returns>
      <ensures inheritedFrom="M:System.Object.ToString" inheritedFromTypeName="Object">Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ProtocolVersion">
      <summary>
            An enumeration of the OAuth protocol versions supported by this library.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ProtocolVersion.V10">
      <summary>
            OAuth 1.0 specification
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ProtocolVersion.V10a">
      <summary>
            OAuth 1.0a specification
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.Protocol">
      <summary>
            Constants used in the OAuth protocol.
            </summary>
      <remarks>
            OAuth Protocol Parameter names and values are case sensitive. Each OAuth Protocol Parameters MUST NOT appear more than once per request, and are REQUIRED unless otherwise noted,
            per OAuth 1.0 section 5.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Protocol.DataContractNamespaceV10">
      <summary>
            The namespace to use for V1.0 of the protocol.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Protocol.ParameterPrefix">
      <summary>
            The prefix used for all key names in the protocol.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Protocol.V10aVersion">
      <summary>
            The string representation of a <see cref="P:DotNetOpenAuth.OAuth.Protocol.Version" /> instance to be used to represent OAuth 1.0a.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Protocol.AuthorizationHeaderScheme">
      <summary>
            The scheme to use in Authorization header message requests.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Protocol.V10">
      <summary>
            Gets the <see cref="T:DotNetOpenAuth.OAuth.Protocol" /> instance with values initialized for V1.0 of the protocol.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Protocol.V10a">
      <summary>
            Gets the <see cref="T:DotNetOpenAuth.OAuth.Protocol" /> instance with values initialized for V1.0a of the protocol.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Protocol.AllVersions">
      <summary>
            A list of all supported OAuth versions, in order starting from newest version.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Protocol.Default">
      <summary>
            The default (or most recent) supported version of the OAuth protocol.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.Protocol.dataContractNamespace">
      <summary>
            The namespace to use for this version of the protocol.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Protocol.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.Protocol" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Protocol.Lookup(DotNetOpenAuth.OAuth.ProtocolVersion)">
      <summary>
            Gets the OAuth Protocol instance to use for the given version.
            </summary>
      <param name="version">The OAuth version to get.</param>
      <returns>A matching <see cref="T:DotNetOpenAuth.OAuth.Protocol" /> instance.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Protocol.Lookup(System.Version)">
      <summary>
            Gets the OAuth Protocol instance to use for the given version.
            </summary>
      <param name="version">The OAuth version to get.</param>
      <returns>A matching <see cref="T:DotNetOpenAuth.OAuth.Protocol" /> instance.</returns>
      <requires exception="T:System.ArgumentNullException">version != null</requires>
      <exception cref="T:System.ArgumentNullException">version == null</exception>
      <requires exception="T:System.ArgumentOutOfRangeException">AllVersions.Any(p =&gt; p.Version == version)</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">!(AllVersions.Any(p =&gt; p.Version == version))</exception>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Protocol.Version">
      <summary>
            Gets the version used to represent OAuth 1.0a.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Protocol.PublishedVersion">
      <summary>
            Gets the version to declare on the wire.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Protocol.ProtocolVersion">
      <summary>
            Gets the <see cref="P:DotNetOpenAuth.OAuth.Protocol.ProtocolVersion" /> enum value for the <see cref="T:DotNetOpenAuth.OAuth.Protocol" /> instance.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.Protocol.DataContractNamespace">
      <summary>
            Gets the namespace to use for this version of the protocol.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OAuth.ServiceProvider">
      <summary>
            A web application that allows access via OAuth.
            </summary>
      <remarks>
        <para>The Service Provider’s documentation should include:</para>
        <list>
          <item>The URLs (Request URLs) the Consumer will use when making OAuth requests, and the HTTP methods (i.e. GET, POST, etc.) used in the Request Token URL and Access Token URL.</item>
          <item>Signature methods supported by the Service Provider.</item>
          <item>Any additional request parameters that the Service Provider requires in order to obtain a Token. Service Provider specific parameters MUST NOT begin with oauth_.</item>
        </list>
      </remarks>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ServiceProvider.ApplicationStoreKey">
      <summary>
            The name of the key to use in the HttpApplication cache to store the
            instance of <see cref="T:DotNetOpenAuth.Messaging.Bindings.NonceMemoryStore" /> to use.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ServiceProvider.VerifierCodeLength">
      <summary>
            The length of the verifier code (in raw bytes before base64 encoding) to generate.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OAuth.ServiceProvider.channel">
      <summary>
            The field behind the <see cref="P:DotNetOpenAuth.OAuth.ServiceProvider.OAuthChannel" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.#ctor(DotNetOpenAuth.OAuth.ServiceProviderDescription,DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ServiceProvider" /> class.
            </summary>
      <param name="serviceDescription">The endpoints and behavior on the Service Provider.</param>
      <param name="tokenManager">The host's method of storing and recalling tokens and secrets.</param>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.#ctor(DotNetOpenAuth.OAuth.ServiceProviderDescription,DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager,DotNetOpenAuth.OAuth.ChannelElements.OAuthServiceProviderMessageFactory)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ServiceProvider" /> class.
            </summary>
      <param name="serviceDescription">The endpoints and behavior on the Service Provider.</param>
      <param name="tokenManager">The host's method of storing and recalling tokens and secrets.</param>
      <param name="messageTypeProvider">An object that can figure out what type of message is being received for deserialization.</param>
      <requires exception="T:System.ArgumentNullException">serviceDescription != null</requires>
      <exception cref="T:System.ArgumentNullException">serviceDescription == null</exception>
      <requires exception="T:System.ArgumentNullException">tokenManager != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenManager == null</exception>
      <requires exception="T:System.ArgumentNullException">messageTypeProvider != null</requires>
      <exception cref="T:System.ArgumentNullException">messageTypeProvider == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.#ctor(DotNetOpenAuth.OAuth.ServiceProviderDescription,DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager,DotNetOpenAuth.Messaging.Bindings.INonceStore)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ServiceProvider" /> class.
            </summary>
      <param name="serviceDescription">The endpoints and behavior on the Service Provider.</param>
      <param name="tokenManager">The host's method of storing and recalling tokens and secrets.</param>
      <param name="nonceStore">The nonce store.</param>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.#ctor(DotNetOpenAuth.OAuth.ServiceProviderDescription,DotNetOpenAuth.OAuth.ChannelElements.IServiceProviderTokenManager,DotNetOpenAuth.Messaging.Bindings.INonceStore,DotNetOpenAuth.OAuth.ChannelElements.OAuthServiceProviderMessageFactory)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OAuth.ServiceProvider" /> class.
            </summary>
      <param name="serviceDescription">The endpoints and behavior on the Service Provider.</param>
      <param name="tokenManager">The host's method of storing and recalling tokens and secrets.</param>
      <param name="nonceStore">The nonce store.</param>
      <param name="messageTypeProvider">An object that can figure out what type of message is being received for deserialization.</param>
      <requires exception="T:System.ArgumentNullException">serviceDescription != null</requires>
      <exception cref="T:System.ArgumentNullException">serviceDescription == null</exception>
      <requires exception="T:System.ArgumentNullException">tokenManager != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenManager == null</exception>
      <requires exception="T:System.ArgumentNullException">nonceStore != null</requires>
      <exception cref="T:System.ArgumentNullException">nonceStore == null</exception>
      <requires exception="T:System.ArgumentNullException">messageTypeProvider != null</requires>
      <exception cref="T:System.ArgumentNullException">messageTypeProvider == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.CreateVerificationCode(DotNetOpenAuth.OAuth.VerificationCodeFormat,System.Int32)">
      <summary>
            Creates a cryptographically strong random verification code.
            </summary>
      <param name="format">The desired format of the verification code.</param>
      <param name="length">The length of the code.
            When <paramref name="format" /> is <see cref="F:DotNetOpenAuth.OAuth.VerificationCodeFormat.IncludedInCallback" />,
            this is the length of the original byte array before base64 encoding rather than the actual
            length of the final string.</param>
      <returns>The verification code.</returns>
      <requires exception="T:System.ArgumentOutOfRangeException">length &gt;= 0</requires>
      <exception cref="T:System.ArgumentOutOfRangeException">length &lt; 0</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.ReadRequest">
      <summary>
            Reads any incoming OAuth message.
            </summary>
      <returns>The deserialized message.</returns>
      <remarks>
            Requires HttpContext.Current.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.ReadRequest(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Reads any incoming OAuth message.
            </summary>
      <param name="request">The HTTP request to read the message from.</param>
      <returns>The deserialized message.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.ReadTokenRequest">
      <summary>
            Gets the incoming request for an unauthorized token, if any.
            </summary>
      <returns>The incoming request, or null if no OAuth message was attached.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if an unexpected OAuth message is attached to the incoming request.</exception>
      <remarks>
            Requires HttpContext.Current.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.ReadTokenRequest(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Reads a request for an unauthorized token from the incoming HTTP request.
            </summary>
      <param name="request">The HTTP request to read from.</param>
      <returns>The incoming request, or null if no OAuth message was attached.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if an unexpected OAuth message is attached to the incoming request.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.PrepareUnauthorizedTokenMessage(DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest)">
      <summary>
            Prepares a message containing an unauthorized token for the Consumer to use in a 
            user agent redirect for subsequent authorization.
            </summary>
      <param name="request">The token request message the Consumer sent that the Service Provider is now responding to.</param>
      <returns>The response message to send using the <see cref="P:DotNetOpenAuth.OAuth.ServiceProvider.Channel" />, after optionally adding extra data to it.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.ReadAuthorizationRequest">
      <summary>
            Gets the incoming request for the Service Provider to authorize a Consumer's
            access to some protected resources.
            </summary>
      <returns>The incoming request, or null if no OAuth message was attached.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if an unexpected OAuth message is attached to the incoming request.</exception>
      <remarks>
            Requires HttpContext.Current.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.ReadAuthorizationRequest(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Reads in a Consumer's request for the Service Provider to obtain permission from
            the user to authorize the Consumer's access of some protected resource(s).
            </summary>
      <param name="request">The HTTP request to read from.</param>
      <returns>The incoming request, or null if no OAuth message was attached.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if an unexpected OAuth message is attached to the incoming request.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.ReadAuthorizationRequest(DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest)">
      <summary>
            Gets the OAuth authorization request included with an OpenID authentication
            request, if there is one.
            </summary>
      <param name="openIdRequest">The OpenID authentication request.</param>
      <returns>
            The scope of access the relying party is requesting, or null if no OAuth request
            is present.
            </returns>
      <remarks>
        <para>Call this method rather than simply extracting the OAuth extension
            out from the authentication request directly to ensure that the additional
            security measures that are required are taken.</para>
      </remarks>
      <requires exception="T:System.ArgumentNullException">openIdRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">openIdRequest == null</exception>
      <requires exception="T:System.InvalidOperationException">this.TokenManager is ICombinedOpenIdProviderTokenManager</requires>
      <exception cref="T:System.InvalidOperationException">!(this.TokenManager is ICombinedOpenIdProviderTokenManager)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.AttachAuthorizationResponse(DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest,System.String,System.String)">
      <summary>
            Attaches the authorization response to an OpenID authentication response.
            </summary>
      <param name="openIdAuthenticationRequest">The OpenID authentication request.</param>
      <param name="consumerKey">The consumer key.  Must be <c>null</c> if and only if <paramref name="scope" /> is null.</param>
      <param name="scope">The approved access scope.  Use <c>null</c> to indicate no access was granted.  The empty string will be interpreted as some default level of access is granted.</param>
      <requires exception="T:System.ArgumentNullException">openIdAuthenticationRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">openIdAuthenticationRequest == null</exception>
      <requires exception="T:System.ArgumentException">(consumerKey == null) == (scope == null)</requires>
      <exception cref="T:System.ArgumentException">!((consumerKey == null) == (scope == null))</exception>
      <requires exception="T:System.InvalidOperationException">this.TokenManager is ICombinedOpenIdProviderTokenManager</requires>
      <exception cref="T:System.InvalidOperationException">!(this.TokenManager is ICombinedOpenIdProviderTokenManager)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.AttachAuthorizationResponse(DotNetOpenAuth.OpenId.Provider.IHostProcessedRequest,System.String)">
      <summary>
            Attaches the authorization response to an OpenID authentication response.
            </summary>
      <param name="openIdAuthenticationRequest">The OpenID authentication request.</param>
      <param name="scope">The approved access scope.  Use <c>null</c> to indicate no access was granted.  The empty string will be interpreted as some default level of access is granted.</param>
      <requires exception="T:System.ArgumentNullException">openIdAuthenticationRequest != null</requires>
      <exception cref="T:System.ArgumentNullException">openIdAuthenticationRequest == null</exception>
      <requires exception="T:System.InvalidOperationException">this.TokenManager is ICombinedOpenIdProviderTokenManager</requires>
      <exception cref="T:System.InvalidOperationException">!(this.TokenManager is ICombinedOpenIdProviderTokenManager)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.PrepareAuthorizationResponse(DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest)">
      <summary>
            Prepares the message to send back to the consumer following proper authorization of
            a token by an interactive user at the Service Provider's web site.
            </summary>
      <param name="request">The Consumer's original authorization request.</param>
      <returns>
            The message to send to the Consumer using <see cref="P:DotNetOpenAuth.OAuth.ServiceProvider.Channel" /> if one is necessary.
            Null if the Consumer did not request a callback as part of the authorization request.
            </returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.PrepareAuthorizationResponse(DotNetOpenAuth.OAuth.Messages.UserAuthorizationRequest,System.Uri)">
      <summary>
            Prepares the message to send back to the consumer following proper authorization of
            a token by an interactive user at the Service Provider's web site.
            </summary>
      <param name="request">The Consumer's original authorization request.</param>
      <param name="callback">The callback URI the consumer has previously registered
            with this service provider or that came in the <see cref="T:DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest" />.</param>
      <returns>
            The message to send to the Consumer using <see cref="P:DotNetOpenAuth.OAuth.ServiceProvider.Channel" />.
            </returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.ArgumentNullException">callback != null</requires>
      <exception cref="T:System.ArgumentNullException">callback == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.ReadAccessTokenRequest">
      <summary>
            Gets the incoming request to exchange an authorized token for an access token.
            </summary>
      <returns>The incoming request, or null if no OAuth message was attached.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if an unexpected OAuth message is attached to the incoming request.</exception>
      <remarks>
            Requires HttpContext.Current.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.ReadAccessTokenRequest(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Reads in a Consumer's request to exchange an authorized request token for an access token.
            </summary>
      <param name="request">The HTTP request to read from.</param>
      <returns>The incoming request, or null if no OAuth message was attached.</returns>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if an unexpected OAuth message is attached to the incoming request.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.PrepareAccessTokenMessage(DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequest)">
      <summary>
            Prepares and sends an access token to a Consumer, and invalidates the request token.
            </summary>
      <param name="request">The Consumer's message requesting an access token.</param>
      <returns>The HTTP response to actually send to the Consumer.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.ReadProtectedResourceAuthorization">
      <summary>
            Gets the authorization (access token) for accessing some protected resource.
            </summary>
      <returns>The authorization message sent by the Consumer, or null if no authorization message is attached.</returns>
      <remarks>
            This method verifies that the access token and token secret are valid.
            It falls on the caller to verify that the access token is actually authorized
            to access the resources being requested.
            </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if an unexpected message is attached to the request.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.ReadProtectedResourceAuthorization(System.ServiceModel.Channels.HttpRequestMessageProperty,System.Uri)">
      <summary>
            Gets the authorization (access token) for accessing some protected resource.
            </summary>
      <param name="request">HTTP details from an incoming WCF message.</param>
      <param name="requestUri">The URI of the WCF service endpoint.</param>
      <returns>The authorization message sent by the Consumer, or null if no authorization message is attached.</returns>
      <remarks>
            This method verifies that the access token and token secret are valid.
            It falls on the caller to verify that the access token is actually authorized
            to access the resources being requested.
            </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if an unexpected message is attached to the request.</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.ReadProtectedResourceAuthorization(DotNetOpenAuth.Messaging.HttpRequestInfo)">
      <summary>
            Gets the authorization (access token) for accessing some protected resource.
            </summary>
      <param name="request">The incoming HTTP request.</param>
      <returns>The authorization message sent by the Consumer, or null if no authorization message is attached.</returns>
      <remarks>
            This method verifies that the access token and token secret are valid.
            It falls on the caller to verify that the access token is actually authorized
            to access the resources being requested.
            </remarks>
      <exception cref="T:DotNetOpenAuth.Messaging.ProtocolException">Thrown if an unexpected message is attached to the request.</exception>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.CreatePrincipal(DotNetOpenAuth.OAuth.Messages.AccessProtectedResourceRequest)">
      <summary>
            Creates a security principal that may be used.
            </summary>
      <param name="request">The request.</param>
      <returns>The <see cref="T:System.Security.Principal.IPrincipal" /> instance that can be used for access control of resources.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.ServiceProvider.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProvider.HttpApplicationStore">
      <summary>
            Gets the standard state storage mechanism that uses ASP.NET's
            HttpApplication state dictionary to store associations and nonces.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;INonceStore&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProvider.ServiceDescription">
      <summary>
            Gets the description of this Service Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProvider.TokenGenerator">
      <summary>
            Gets or sets the generator responsible for generating new tokens and secrets.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProvider.TokenManager">
      <summary>
            Gets the persistence store for tokens and secrets.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProvider.Channel">
      <summary>
            Gets the channel to use for sending/receiving messages.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProvider.SecuritySettings">
      <summary>
            Gets the security settings for this service provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OAuth.ServiceProvider.OAuthChannel">
      <summary>
            Gets or sets the channel to use for sending/receiving messages.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentNullException">value != null</requires>
      </setter>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.Strings">
      <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Strings.ResourceManager">
      <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Strings.Culture">
      <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Strings.ConfigurationTypeMustBePublic">
      <summary>
              Looks up a localized string similar to The configuration-specified type {0} must be public, and is not..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Strings.ConfigurationXamlReferenceRequiresHttpContext">
      <summary>
              Looks up a localized string similar to The configuration XAML reference to {0} requires a current HttpContext to resolve..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Strings.EmbeddedResourceUrlProviderRequired">
      <summary>
              Looks up a localized string similar to The current IHttpHandler is not one of types: {0}.  An embedded resource URL provider must be set in your .config file..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Strings.StoreRequiredWhenNoHttpContextAvailable">
      <summary>
              Looks up a localized string similar to No current HttpContext was detected, so an {0} instance must be explicitly provided or specified in the .config file.  Call the constructor overload that takes an {0}..
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.UriUtil">
      <summary>
            Utility methods for working with URIs.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.UriUtil.QueryStringContainPrefixedParameters(System.Uri,System.String)">
      <summary>
            Tests a URI for the presence of an OAuth payload.
            </summary>
      <param name="uri">The URI to test.</param>
      <param name="prefix">The prefix.</param>
      <returns>
            True if the URI contains an OAuth message.
            </returns>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(prefix)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(prefix)</exception>
    </member>
    <member name="M:DotNetOpenAuth.UriUtil.IsTransportSecure(System.Uri)">
      <summary>
            Determines whether some <see cref="T:System.Uri" /> is using HTTPS.
            </summary>
      <param name="uri">The Uri being tested for security.</param>
      <returns>
        <c>true</c> if the URI represents an encrypted request; otherwise, <c>false</c>.
            </returns>
      <requires exception="T:System.ArgumentNullException">uri != null</requires>
      <exception cref="T:System.ArgumentNullException">uri == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.UriUtil.ToStringWithImpliedPorts(System.UriBuilder)">
      <summary>
            Equivalent to UriBuilder.ToString() but omits port # if it may be implied.
            Equivalent to UriBuilder.Uri.ToString(), but doesn't throw an exception if the Host has a wildcard.
            </summary>
      <param name="builder">The UriBuilder to render as a string.</param>
      <returns>The string version of the Uri.</returns>
      <requires exception="T:System.ArgumentNullException">builder != null</requires>
      <exception cref="T:System.ArgumentNullException">builder == null</exception>
      <ensures>Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.UriUtil.ValidateResolvableUrl(System.Web.UI.Page,System.Boolean,System.String)">
      <summary>
            Validates that a URL will be resolvable at runtime.
            </summary>
      <param name="page">The page hosting the control that receives this URL as a property.</param>
      <param name="designMode">If set to <c>true</c> the page is in design-time mode rather than runtime mode.</param>
      <param name="value">The URI to check.</param>
      <exception cref="T:System.UriFormatException">Thrown if the given URL is not a valid, resolvable URI.</exception>
    </member>
    <member name="T:DotNetOpenAuth.Xrds.XrdsStrings">
      <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdsStrings.ResourceManager">
      <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdsStrings.Culture">
      <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdsStrings.CIDVerificationFailed">
      <summary>
              Looks up a localized string similar to XRI CanonicalID verification failed..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdsStrings.InvalidXRDSDocument">
      <summary>
              Looks up a localized string similar to Failure parsing XRDS document..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdsStrings.MissingCanonicalIDElement">
      <summary>
              Looks up a localized string similar to The XRDS document for XRI {0} is missing the required CanonicalID element..
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdsStrings.XriResolutionStatusMissing">
      <summary>
              Looks up a localized string similar to Could not find XRI resolution Status tag or code attribute was invalid..
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Yadis.ContentTypes">
      <summary>
            String constants for various content-type header values used in YADIS discovery.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.ContentTypes.Html">
      <summary>
            The text/html content-type
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.ContentTypes.XHtml">
      <summary>
            The application/xhtml+xml content-type
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.ContentTypes.Xrds">
      <summary>
            The application/xrds+xml content-type
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.ContentTypes.Xml">
      <summary>
            The text/xml content type
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Yadis.DiscoveryResult">
      <summary>
            Contains the result of YADIS discovery.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.DiscoveryResult.htmlFallback">
      <summary>
            The original web response, backed up here if the final web response is the preferred response to use
            in case it turns out to not work out.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Yadis.DiscoveryResult.#ctor(System.Uri,DotNetOpenAuth.Messaging.CachedDirectWebResponse,DotNetOpenAuth.Messaging.CachedDirectWebResponse)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Yadis.DiscoveryResult" /> class.
            </summary>
      <param name="requestUri">The user-supplied identifier.</param>
      <param name="initialResponse">The initial response.</param>
      <param name="finalResponse">The final response.</param>
    </member>
    <member name="M:DotNetOpenAuth.Yadis.DiscoveryResult.TryRevertToHtmlResponse">
      <summary>
            Reverts to the HTML response after the XRDS response didn't work out.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Yadis.DiscoveryResult.ApplyHtmlResponse(DotNetOpenAuth.Messaging.CachedDirectWebResponse)">
      <summary>
            Applies the HTML response to the object.
            </summary>
      <param name="initialResponse">The initial response.</param>
    </member>
    <member name="P:DotNetOpenAuth.Yadis.DiscoveryResult.RequestUri">
      <summary>
            Gets the URI of the original YADIS discovery request.  
            This is the user supplied Identifier as given in the original
            YADIS discovery request.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Yadis.DiscoveryResult.NormalizedUri">
      <summary>
            Gets the fully resolved (after redirects) URL of the user supplied Identifier.
            This becomes the ClaimedIdentifier.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Yadis.DiscoveryResult.YadisLocation">
      <summary>
            Gets the location the XRDS document was downloaded from, if different
            from the user supplied Identifier.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Yadis.DiscoveryResult.ContentType">
      <summary>
            Gets the Content-Type associated with the <see cref="P:DotNetOpenAuth.Yadis.DiscoveryResult.ResponseText" />.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Yadis.DiscoveryResult.ResponseText">
      <summary>
            Gets the text in the final response.
            This may be an XRDS document or it may be an HTML document, 
            as determined by the <see cref="P:DotNetOpenAuth.Yadis.DiscoveryResult.IsXrds" /> property.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Yadis.DiscoveryResult.IsXrds">
      <summary>
            Gets a value indicating whether the <see cref="P:DotNetOpenAuth.Yadis.DiscoveryResult.ResponseText" /> 
            represents an XRDS document. False if the response is an HTML document.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Yadis.HtmlParser">
      <summary>
            An HTML HEAD tag parser.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.HtmlParser.Flags">
      <summary>
            Common flags to use on regex tests.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.HtmlParser.TagExpr">
      <summary>
            A regular expression designed to select tags (?)
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.HtmlParser.StartTagExpr">
      <summary>
            A regular expression designed to select start tags (?)
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.HtmlParser.attrRe">
      <summary>
            A regular expression designed to select attributes within a tag.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.HtmlParser.headRe">
      <summary>
            A regular expression designed to select the HEAD tag.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.HtmlParser.htmlRe">
      <summary>
            A regular expression designed to select the HTML tag.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.HtmlParser.removedRe">
      <summary>
            A regular expression designed to remove all comments and scripts from a string.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Yadis.HtmlParser.HeadTags``1(System.String)">
      <summary>
            Finds all the HTML HEAD tag child elements that match the tag name of a given type.
            </summary>
      <typeparam name="T">The HTML tag of interest.</typeparam>
      <param name="html">The HTML to scan.</param>
      <returns>A sequence of the matching elements.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Yadis.HtmlParser.WithAttribute``1(System.Collections.Generic.IEnumerable{``0},System.String)">
      <summary>
            Filters a list of controls based on presence of an attribute.
            </summary>
      <typeparam name="T">The type of HTML controls being filtered.</typeparam>
      <param name="sequence">The sequence.</param>
      <param name="attribute">The attribute.</param>
      <returns>A filtered sequence of attributes.</returns>
      <requires exception="T:System.ArgumentNullException">sequence != null</requires>
      <exception cref="T:System.ArgumentNullException">sequence == null</exception>
      <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(attribute)</requires>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(attribute)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Yadis.HtmlParser.TagMatcher(System.String,System.String[])">
      <summary>
            Generates a regular expression that will find a given HTML tag.
            </summary>
      <param name="tagName">Name of the tag.</param>
      <param name="closeTags">The close tags (?).</param>
      <returns>The created regular expression.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Yadis.HtmlParser.StartTagMatcher(System.String)">
      <summary>
            Generates a regular expression designed to find a given tag.
            </summary>
      <param name="tagName">The tag to find.</param>
      <returns>The created regular expression.</returns>
    </member>
    <member name="T:DotNetOpenAuth.Xrds.ServiceElement">
      <summary>
            The Service element in an XRDS document.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Xrds.XrdsNode">
      <summary>
            A node in an XRDS document.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Xrds.XrdsNode.XrdNamespace">
      <summary>
            The XRD namespace xri://$xrd*($v*2.0)
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Xrds.XrdsNode.XrdsNamespace">
      <summary>
            The XRDS namespace xri://$xrds
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Xrds.XrdsNode.#ctor(System.Xml.XPath.XPathNavigator,DotNetOpenAuth.Xrds.XrdsNode)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Xrds.XrdsNode" /> class.
            </summary>
      <param name="node">The node represented by this instance.</param>
      <param name="parentNode">The parent node.</param>
      <requires exception="T:System.ArgumentNullException">node != null</requires>
      <exception cref="T:System.ArgumentNullException">node == null</exception>
      <requires exception="T:System.ArgumentNullException">parentNode != null</requires>
      <exception cref="T:System.ArgumentNullException">parentNode == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Xrds.XrdsNode.#ctor(System.Xml.XPath.XPathNavigator)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Xrds.XrdsNode" /> class.
            </summary>
      <param name="document">The document's root node, which this instance represents.</param>
      <requires exception="T:System.ArgumentNullException">document != null</requires>
      <exception cref="T:System.ArgumentNullException">document == null</exception>
      <requires exception="T:System.ArgumentException">document.NameTable != null</requires>
      <exception cref="T:System.ArgumentException">document.NameTable == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdsNode.Node">
      <summary>
            Gets the node.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdsNode.ParentNode">
      <summary>
            Gets the parent node, or null if this is the root node.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdsNode.XmlNamespaceResolver">
      <summary>
            Gets the XML namespace resolver to use in XPath expressions.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Xrds.ServiceElement.#ctor(System.Xml.XPath.XPathNavigator,DotNetOpenAuth.Xrds.XrdElement)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Xrds.ServiceElement" /> class.
            </summary>
      <param name="serviceElement">The service element.</param>
      <param name="parent">The parent.</param>
    </member>
    <member name="M:DotNetOpenAuth.Xrds.ServiceElement.CompareTo(DotNetOpenAuth.Xrds.ServiceElement)">
      <summary>
            Compares the current object with another object of the same type.
            </summary>
      <param name="other">An object to compare with this object.</param>
      <returns>
            A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings:
            Value
            Meaning
            Less than zero
            This object is less than the <paramref name="other" /> parameter.
            Zero
            This object is equal to <paramref name="other" />.
            Greater than zero
            This object is greater than <paramref name="other" />.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.ServiceElement.Xrd">
      <summary>
            Gets the XRD parent element.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.ServiceElement.Priority">
      <summary>
            Gets the priority.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.ServiceElement.UriElements">
      <summary>
            Gets the URI child elements.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.ServiceElement.TypeElements">
      <summary>
            Gets the type child elements.
            </summary>
      <value>The type elements.</value>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.ServiceElement.TypeElementUris">
      <summary>
            Gets the type child element's URIs.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.ServiceElement.ProviderLocalIdentifier">
      <summary>
            Gets the OP Local Identifier.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Xrds.TypeElement">
      <summary>
            The Type element in an XRDS document.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Xrds.TypeElement.#ctor(System.Xml.XPath.XPathNavigator,DotNetOpenAuth.Xrds.ServiceElement)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Xrds.TypeElement" /> class.
            </summary>
      <param name="typeElement">The type element.</param>
      <param name="parent">The parent.</param>
      <requires exception="T:System.ArgumentNullException">typeElement != null</requires>
      <exception cref="T:System.ArgumentNullException">typeElement == null</exception>
      <requires exception="T:System.ArgumentNullException">parent != null</requires>
      <exception cref="T:System.ArgumentNullException">parent == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.TypeElement.Uri">
      <summary>
            Gets the URI.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Xrds.UriElement">
      <summary>
            The Uri element in an XRDS document.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Xrds.UriElement.#ctor(System.Xml.XPath.XPathNavigator,DotNetOpenAuth.Xrds.ServiceElement)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Xrds.UriElement" /> class.
            </summary>
      <param name="uriElement">The URI element.</param>
      <param name="service">The service.</param>
    </member>
    <member name="M:DotNetOpenAuth.Xrds.UriElement.CompareTo(DotNetOpenAuth.Xrds.UriElement)">
      <summary>
            Compares the current object with another object of the same type.
            </summary>
      <param name="other">An object to compare with this object.</param>
      <returns>
            A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings:
            Value
            Meaning
            Less than zero
            This object is less than the <paramref name="other" /> parameter.
            Zero
            This object is equal to <paramref name="other" />.
            Greater than zero
            This object is greater than <paramref name="other" />.
            </returns>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.UriElement.Priority">
      <summary>
            Gets the priority.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.UriElement.Uri">
      <summary>
            Gets the URI.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.UriElement.Service">
      <summary>
            Gets the parent service.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Xrds.XrdElement">
      <summary>
            The Xrd element in an XRDS document.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Xrds.XrdElement.#ctor(System.Xml.XPath.XPathNavigator,DotNetOpenAuth.Xrds.XrdsDocument)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Xrds.XrdElement" /> class.
            </summary>
      <param name="xrdElement">The XRD element.</param>
      <param name="parent">The parent.</param>
    </member>
    <member name="M:DotNetOpenAuth.Xrds.XrdElement.SearchForServiceTypeUris(System.Func{DotNetOpenAuth.OpenId.Protocol,System.String})">
      <summary>
            Searches for service sub-elements that have Type URI sub-elements that match
            one that we have for a known OpenID protocol version.
            </summary>
      <param name="p">A function that selects what element of the OpenID Protocol we're interested in finding.</param>
      <returns>A sequence of service elements that match the search criteria, sorted in XRDS @priority attribute order.</returns>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdElement.Services">
      <summary>
            Gets the child service elements.
            </summary>
      <value>The services.</value>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdElement.IsXriResolutionSuccessful">
      <summary>
            Gets a value indicating whether this XRD element's resolution at the XRI resolver was successful.
            </summary>
      <value>
        <c>true</c> if this XRD's resolution was successful; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdElement.CanonicalID">
      <summary>
            Gets the canonical ID (i-number) for this element.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdElement.IsCanonicalIdVerified">
      <summary>
            Gets a value indicating whether the <see cref="P:DotNetOpenAuth.Xrds.XrdElement.CanonicalID" /> was verified.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdElement.OpenIdProviderIdentifierServices">
      <summary>
            Gets the services for OP Identifiers.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdElement.OpenIdClaimedIdentifierServices">
      <summary>
            Gets the services for Claimed Identifiers.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdElement.OpenIdRelyingPartyReturnToServices">
      <summary>
            Gets the services that would be discoverable at an RP for return_to verification.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdElement.OpenIdRelyingPartyIcons">
      <summary>
            Gets the services that would be discoverable at an RP for the UI extension icon.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdElement.ServiceUris">
      <summary>
            Gets an enumeration of all Service/URI elements, sorted in priority order.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdElement.XriResolutionStatusCode">
      <summary>
            Gets the XRI resolution status code.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Xrds.XrdsDocument">
      <summary>
            An XRDS document.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Xrds.XrdsDocument.XmlDSigNamespace">
      <summary>
            The namespace used by XML digital signatures.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Xrds.XrdsDocument.GoogleOpenIdNamespace">
      <summary>
            The namespace used by Google Apps for Domains for OpenID URI templates.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Xrds.XrdsDocument.#ctor(System.Xml.XPath.XPathNavigator)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Xrds.XrdsDocument" /> class.
            </summary>
      <param name="xrdsNavigator">The root node of the XRDS document.</param>
    </member>
    <member name="M:DotNetOpenAuth.Xrds.XrdsDocument.#ctor(System.Xml.XmlReader)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Xrds.XrdsDocument" /> class.
            </summary>
      <param name="reader">The Xml reader positioned at the root node of the XRDS document.</param>
    </member>
    <member name="M:DotNetOpenAuth.Xrds.XrdsDocument.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.Xrds.XrdsDocument" /> class.
            </summary>
      <param name="xml">The text that is the XRDS document.</param>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdsDocument.XrdElements">
      <summary>
            Gets the XRD child elements of the document.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.Xrds.XrdsDocument.IsXrdResolutionSuccessful">
      <summary>
            Gets a value indicating whether all child XRD elements were resolved successfully.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Yadis.Yadis">
      <summary>
            YADIS discovery manager.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.Yadis.HeaderName">
      <summary>
            The HTTP header to look for in responses to declare where the XRDS document should be found.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.Yadis.MaximumResultToScan">
      <summary>
            The maximum number of bytes to read from an HTTP response
            in searching for a link to a YADIS document.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.Yadis.Yadis.IdentifierDiscoveryCachePolicy">
      <summary>
            Gets or sets the cache that can be used for HTTP requests made during identifier discovery.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Yadis.Yadis.Discover(DotNetOpenAuth.Messaging.IDirectWebRequestHandler,DotNetOpenAuth.OpenId.UriIdentifier,System.Boolean)">
      <summary>
            Performs YADIS discovery on some identifier.
            </summary>
      <param name="requestHandler">The mechanism to use for sending HTTP requests.</param>
      <param name="uri">The URI to perform discovery on.</param>
      <param name="requireSsl">Whether discovery should fail if any step of it is not encrypted.</param>
      <returns>
            The result of discovery on the given URL.
            Null may be returned if an error occurs,
            or if <paramref name="requireSsl" /> is true but part of discovery
            is not protected by SSL.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Yadis.Yadis.FindYadisDocumentLocationInHtmlMetaTags(System.String)">
      <summary>
            Searches an HTML document for a
            &lt;meta http-equiv="X-XRDS-Location" content="{YadisURL}"&gt;
            tag and returns the content of YadisURL.
            </summary>
      <param name="html">The HTML to search.</param>
      <returns>The URI of the XRDS document if found; otherwise <c>null</c>.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Yadis.Yadis.Request(DotNetOpenAuth.Messaging.IDirectWebRequestHandler,System.Uri,System.Boolean,System.String[])">
      <summary>
            Sends a YADIS HTTP request as part of identifier discovery.
            </summary>
      <param name="requestHandler">The request handler to use to actually submit the request.</param>
      <param name="uri">The URI to GET.</param>
      <param name="requireSsl">Whether only HTTPS URLs should ever be retrieved.</param>
      <param name="acceptTypes">The value of the Accept HTTP header to include in the request.</param>
      <returns>The HTTP response retrieved from the request.</returns>
      <requires exception="T:System.ArgumentNullException">requestHandler != null</requires>
      <exception cref="T:System.ArgumentNullException">requestHandler == null</exception>
      <requires exception="T:System.ArgumentNullException">uri != null</requires>
      <exception cref="T:System.ArgumentNullException">uri == null</exception>
      <ensures>Contract.Result&lt;IncomingWebResponse&gt;() != null</ensures>
      <ensures>Contract.Result&lt;IncomingWebResponse&gt;().ResponseStream != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Yadis.Yadis.IsXrdsDocument(DotNetOpenAuth.Messaging.CachedDirectWebResponse)">
      <summary>
            Determines whether a given HTTP response constitutes an XRDS document.
            </summary>
      <param name="response">The response to test.</param>
      <returns>
        <c>true</c> if the response constains an XRDS document; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox">
      <summary>
            An ASP.NET control that provides a minimal text box that is OpenID-aware.
            </summary>
      <remarks>
            This control offers greater UI flexibility than the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin" />
            control, but requires more work to be done by the hosting web site to 
            assemble a complete login experience.
            </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase">
      <summary>
            A common base class for OpenID Relying Party controls.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.EmbeddedJavascriptResource">
      <summary>
            The manifest resource name of the javascript file to include on the hosting page.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.PersistentIdentifierCookieName">
      <summary>
            The cookie used to persist the Identifier the user logged in with.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.ReturnToReceivingControlId">
      <summary>
            The callback parameter name to use to store which control initiated the auth request.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.UIPopupCallbackKey">
      <summary>
            The callback parameter to use for recognizing when the callback is in a popup window or hidden iframe.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.PopupUISupportedJSHint">
      <summary>
            The parameter name to include in the formulated auth request so that javascript can know whether
            the OP advertises support for the UI extension.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.AppearanceCategory">
      <summary>
            The "Appearance" category for properties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.BehaviorCategory">
      <summary>
            The "Behavior" category for properties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.OpenIdCategory">
      <summary>
            The "OpenID" category for properties and events.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.UsePersistentCookieCallbackKey">
      <summary>
            The callback parameter for use with persisting the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.UsePersistentCookie" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.UIPopupCallbackParentKey">
      <summary>
            The callback parameter to use for recognizing when the callback is in the parent window.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.StatelessDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Stateless" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.ReturnToUrlDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.ReturnToUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.UsePersistentCookieDefault">
      <summary>
            Default value of <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.UsePersistentCookie" />.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LogOnModeDefault">
      <summary>
            Default value of <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LogOnMode" />.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RealmUrlDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RealmUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.PopupDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Popup" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RequireSslDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RequireSsl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.ExtensionsViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Extensions" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.StatelessViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Stateless" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.UsePersistentCookieViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.UsePersistentCookie" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LogOnModeViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LogOnMode" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RealmUrlViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RealmUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.ReturnToUrlViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.ReturnToUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.IdentifierViewStateKey">
      <summary>
            The key under which the value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Identifier" /> property will be stored.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.PopupViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Popup" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RequireSslViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RequireSsl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.PersistentIdentifierTimeToLiveDefault">
      <summary>
            The lifetime of the cookie used to persist the Identifier the user logged in with.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.relyingParty">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RelyingParty" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.relyingPartyOwned">
      <summary>
            A value indicating whether the <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.relyingParty" /> field contains
            an instance that we own and should Dispose.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LogOff">
      <summary>
            Clears any cookie set by this control to help the user on a returning visit next time.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LogOn">
      <summary>
            Immediately redirects to the OpenID Provider to verify the Identifier
            provided in the text box.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LogOn(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Immediately redirects to the OpenID Provider to verify the Identifier
            provided in the text box.
            </summary>
      <param name="request">The request.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.System#Web#UI#IPostBackEventHandler#RaisePostBackEvent(System.String)">
      <summary>
            When implemented by a class, enables a server control to process an event raised when a form is posted to the server.
            </summary>
      <param name="eventArgument">A <see cref="T:System.String" /> that represents an optional event argument to be passed to the event handler.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Dispose">
      <summary>
            Enables a server control to perform final clean up before it is released from memory.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.CreateRequests(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Creates the authentication requests for a given user-supplied Identifier.
            </summary>
      <param name="identifier">The identifier to create a request for.</param>
      <returns>
            A sequence of authentication requests, any one of which may be
            used to determine the user's control of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.ClaimedIdentifier" />.
            </returns>
      <requires exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RaisePostBackEvent(System.String)">
      <summary>
            When implemented by a class, enables a server control to process an event raised when a form is posted to the server.
            </summary>
      <param name="eventArgument">A <see cref="T:System.String" /> that represents an optional event argument to be passed to the event handler.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.CreateRequests">
      <summary>
            Creates the authentication requests for the value set in the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Identifier" /> property.
            </summary>
      <returns>
            A sequence of authentication requests, any one of which may be
            used to determine the user's control of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.ClaimedIdentifier" />.
            </returns>
      <requires exception="T:System.InvalidOperationException">this.Identifier != null</requires>
      <exception cref="T:System.InvalidOperationException">this.Identifier == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.OnLoad(System.EventArgs)">
      <summary>
            Raises the <see cref="E:Load" /> event.
            </summary>
      <param name="e">The <see cref="T:System.EventArgs" /> instance containing the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnLoad(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.ScriptClosingPopupOrIFrame">
      <summary>
            Notifies the user agent via an AJAX response of a completed authentication attempt.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.OnIdentifierChanged">
      <summary>
            Called when the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Identifier" /> property is changed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.ProcessResponse(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Processes the response.
            </summary>
      <param name="response">The response.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.OnPreRender(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Web.UI.Control.PreRender" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnPreRender(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.OnLoggedIn(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LoggedIn" /> event.
            </summary>
      <param name="response">The response.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
      <requires exception="T:System.ArgumentException">response.Status == AuthenticationStatus.Authenticated</requires>
      <exception cref="T:System.ArgumentException">response.Status != AuthenticationStatus.Authenticated</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.OnLoggingIn(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LoggingIn" /> event.
            </summary>
      <param name="request">The request.</param>
      <returns>
            Returns whether the login should proceed.  False if some event handler canceled the request.
            </returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.OnCanceled(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Canceled" /> event.
            </summary>
      <param name="response">The response.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
      <requires exception="T:System.ArgumentException">response.Status == AuthenticationStatus.Canceled</requires>
      <exception cref="T:System.ArgumentException">response.Status != AuthenticationStatus.Canceled</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.OnFailed(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Failed" /> event.
            </summary>
      <param name="response">The response.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
      <requires exception="T:System.ArgumentException">response.Status == AuthenticationStatus.Failed</requires>
      <exception cref="T:System.ArgumentException">response.Status != AuthenticationStatus.Failed</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.CreateRelyingParty">
      <summary>
            Creates the relying party instance used to generate authentication requests.
            </summary>
      <returns>The instantiated relying party.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.CreateRelyingParty(DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyApplicationStore)">
      <summary>
            Creates the relying party instance used to generate authentication requests.
            </summary>
      <param name="store">The store to pass to the relying party constructor.</param>
      <returns>The instantiated relying party.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.ConfigureRelyingParty(DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty)">
      <summary>
            Configures the relying party.
            </summary>
      <param name="relyingParty">The relying party.</param>
      <requires exception="T:System.ArgumentNullException">relyingParty != null</requires>
      <exception cref="T:System.ArgumentNullException">relyingParty == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.IsPopupAppropriate(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Detects whether a popup window should be used to show the Provider's UI.
            </summary>
      <param name="request">The request.</param>
      <returns>
        <c>true</c> if a popup should be used; <c>false</c> otherwise.
            </returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RenderOpenIdMessageTransmissionAsAnchorAttributes(System.Web.UI.HtmlTextWriter,DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest,System.String)">
      <summary>
            Adds attributes to an HTML &lt;A&gt; tag that will be written by the caller using 
            <see cref="M:System.Web.UI.HtmlTextWriter.RenderBeginTag(System.Web.UI.HtmlTextWriterTag)" /> after this method.
            </summary>
      <param name="writer">The HTML writer.</param>
      <param name="request">The outgoing authentication request.</param>
      <param name="windowStatus">The text to try to display in the status bar on mouse hover.</param>
      <requires exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.CreateIdentifierPersistingCookie(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Creates the identifier-persisting cookie, either for saving or deleting.
            </summary>
      <param name="response">The positive authentication response; or <c>null</c> to clear the cookie.</param>
      <returns>An persistent cookie.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.CreateRequestsCore(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Creates the authentication requests for a given user-supplied Identifier.
            </summary>
      <param name="identifier">The identifier to create a request for.</param>
      <returns>
            A sequence of authentication requests, any one of which may be
            used to determine the user's control of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.ClaimedIdentifier" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.CreateGetOrPostAHrefValue(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Gets the javascript to executee to redirect or POST an OpenID message to a remote party.
            </summary>
      <param name="request">The authentication request to send.</param>
      <returns>The javascript that should execute.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.ScriptPopupWindow(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Wires the return page to immediately display a popup window with the Provider in it.
            </summary>
      <param name="request">The request.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
      <requires exception="T:System.InvalidOperationException">this.RelyingParty != null</requires>
      <exception cref="T:System.InvalidOperationException">this.RelyingParty == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.TryPresetIdentifierWithCookie">
      <summary>
            Tries to preset the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Identifier" /> property based on a persistent
            cookie on the browser.
            </summary>
      <returns>
            A value indicating whether the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Identifier" /> property was
            successfully preset to some non-empty value.
            </returns>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LoggingIn">
      <summary>
            Fired when the user has typed in their identifier, discovery was successful
            and a login attempt is about to begin.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LoggedIn">
      <summary>
            Fired upon completion of a successful login.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Failed">
      <summary>
            Fired when a login attempt fails.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Canceled">
      <summary>
            Fired when an authentication attempt is canceled at the OpenID Provider.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.IdentifierChanged">
      <summary>
            Occurs when the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Identifier" /> property is changed.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RelyingParty">
      <summary>
            Gets or sets the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" /> instance to use.
            </summary>
      <value>The default value is an <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" /> instance initialized according to the web.config file.</value>
      <remarks>
            A performance optimization would be to store off the 
            instance as a static member in your web site and set it
            to this property in your <see cref="E:System.Web.UI.Control.Load">Page.Load</see>
            event since instantiating these instances can be expensive on 
            heavily trafficked web pages.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Extensions">
      <summary>
            Gets the collection of extension requests this selector should include in generated requests.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Stateless">
      <summary>
            Gets or sets a value indicating whether stateless mode is used.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RealmUrl">
      <summary>
            Gets or sets the OpenID <see cref="T:DotNetOpenAuth.OpenId.Realm" /> of the relying party web site.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(value)</requires>
      </setter>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(value)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.ReturnToUrl">
      <summary>
            Gets or sets the OpenID ReturnTo of the relying party web site.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.UsePersistentCookie">
      <summary>
            Gets or sets a value indicating whether to send a persistent cookie upon successful 
            login so the user does not have to log in upon returning to this site.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LogOnMode">
      <summary>
            Gets or sets the way a completed login is communicated to the rest of the web site.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Popup">
      <summary>
            Gets or sets a value indicating when to use a popup window to complete the login experience.
            </summary>
      <value>The default value is <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.PopupBehavior.Never" />.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.RequireSsl">
      <summary>
            Gets or sets a value indicating whether to enforce on high security mode,
            which requires the full authentication pipeline to be protected by SSL.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.Identifier">
      <summary>
            Gets or sets the Identifier that will be used to initiate login.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.AssociationPreference">
      <summary>
            Gets or sets the default association preference to set on authentication requests.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.ParentControls">
      <summary>
            Gets ancestor controls, starting with the immediate parent, and progressing to more distant ancestors.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.IsEmbeddedInParentOpenIdControl">
      <summary>
            Gets a value indicating whether this control is a child control of a composite OpenID control.
            </summary>
      <value>
        <c>true</c> if this instance is embedded in parent OpenID control; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.EmbeddedLogoResourceName">
      <summary>
            The name of the manifest stream containing the
            OpenID logo that is placed inside the text box.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.TabIndexDefault">
      <summary>
            Default value for <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.TabIndex" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.ProfileCategory">
      <summary>
            The "Simple Registration" category for properties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestEmailViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestEmail" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestNicknameViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestNickname" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestPostalCodeViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestPostalCode" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestCountryViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestCountry" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestLanguageViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestLanguage" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestTimeZoneViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestTimeZone" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.EnableRequestProfileViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.EnableRequestProfile" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.PolicyUrlViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.PolicyUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestFullNameViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestFullName" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.PresetBorderViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.PresetBorder" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.ShowLogoViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.ShowLogo" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestGenderViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestGender" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestBirthDateViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestBirthDate" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.CssClassViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.CssClass" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.MaxLengthViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.MaxLength" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.ColumnsViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.Columns" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.TabIndexViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.TabIndex" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.EnabledViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.Enabled" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.NameViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.Name" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.TextViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.Text" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.ColumnsDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.Columns" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.MaxLengthDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.MaxLength" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.NameDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.Name" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.EnableRequestProfileDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.EnableRequestProfile" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.ShowLogoDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.ShowLogo" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.PresetBorderDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.PresetBorder" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.PolicyUrlDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.PolicyUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.CssClassDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.CssClass" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.TextDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.Text" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestEmailDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestEmail" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestPostalCodeDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestPostalCode" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestCountryDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestCountry" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestLanguageDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestLanguage" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestTimeZoneDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestTimeZone" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestNicknameDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestNickname" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestFullNameDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestFullName" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestBirthDateDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestBirthDate" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestGenderDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestGender" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.EmptyClaimsRequest">
      <summary>
            An empty sreg request, used to compare with others to see if they too are empty.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.System#Web#UI#IPostBackDataHandler#LoadPostData(System.String,System.Collections.Specialized.NameValueCollection)">
      <summary>
            When implemented by a class, processes postback data for an ASP.NET server control.
            </summary>
      <param name="postDataKey">The key identifier for the control.</param>
      <param name="postCollection">The collection of all incoming name values.</param>
      <returns>
            true if the server control's state changes as a result of the postback; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.System#Web#UI#IPostBackDataHandler#RaisePostDataChangedEvent">
      <summary>
            When implemented by a class, signals the server control to notify the ASP.NET application that the state of the control has changed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.CreateRequests(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Creates the authentication requests for a given user-supplied Identifier.
            </summary>
      <param name="identifier">The identifier to create a request for.</param>
      <returns>
            A sequence of authentication requests, any one of which may be
            used to determine the user's control of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.ClaimedIdentifier" />.
            </returns>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.CreateRequests(DotNetOpenAuth.OpenId.Identifier)" inheritedFromTypeName="OpenIdRelyingPartyControlBase" exception="T:System.ArgumentNullException">identifier != null</requires>
      <exception cref="T:System.ArgumentNullException">identifier == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.OnLoad(System.EventArgs)">
      <summary>
            Checks for incoming OpenID authentication responses and fires appropriate events.
            </summary>
      <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnLoad(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.OnIdentifierChanged">
      <summary>
            Called when the <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> property is changed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.Render(System.Web.UI.HtmlTextWriter)">
      <summary>
            Sends server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object, which writes the content to be rendered on the client.
            </summary>
      <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the server control content.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.Render(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="Control">writer != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.LoadPostData(System.String,System.Collections.Specialized.NameValueCollection)">
      <summary>
            When implemented by a class, processes postback data for an ASP.NET server control.
            </summary>
      <param name="postDataKey">The key identifier for the control.</param>
      <param name="postCollection">The collection of all incoming name values.</param>
      <returns>
            true if the server control's state changes as a result of the postback; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RaisePostDataChangedEvent">
      <summary>
            When implemented by a class, signals the server control to notify the ASP.NET application that the state of the control has changed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.OnTextChanged">
      <summary>
            Called on a postback when the Text property has changed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.CreateRequestsCore(System.Collections.Generic.IEnumerable{DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest})">
      <summary>
            Creates the authentication requests for a given user-supplied Identifier.
            </summary>
      <param name="requests">The authentication requests to prepare.</param>
      <returns>
            A sequence of authentication requests, any one of which may be
            used to determine the user's control of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.ClaimedIdentifier" />.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.AddProfileArgs(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Adds extensions to a given authentication request to ask the Provider
            for user profile data.
            </summary>
      <param name="request">The authentication request to add the extensions to.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.TextChanged">
      <summary>
            Occurs when the content of the text changes between posts to the server.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.Text">
      <summary>
            Gets or sets the content of the text box.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.Name">
      <summary>
            Gets or sets the form name to use for this input field.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.CssClass">
      <summary>
            Gets or sets the CSS class assigned to the text box.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.ShowLogo">
      <summary>
            Gets or sets a value indicating whether to show the OpenID logo in the text box.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.PresetBorder">
      <summary>
            Gets or sets a value indicating whether to use inline styling to force a solid gray border.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.Columns">
      <summary>
            Gets or sets the width of the text box in characters.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.MaxLength">
      <summary>
            Gets or sets the maximum number of characters the browser should allow
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.TabIndex">
      <summary>
            Gets or sets the tab index of the Web server control.
            </summary>
      <value />
      <returns>
            The tab index of the Web server control. The default is 0, which indicates that this property is not set.
            </returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
            The specified tab index is not between -32768 and 32767.
            </exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.Enabled">
      <summary>
            Gets or sets a value indicating whether this <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox" /> is enabled
            in the browser for editing and will respond to incoming OpenID messages.
            </summary>
      <value>
        <c>true</c> if enabled; otherwise, <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestNickname">
      <summary>
            Gets or sets your level of interest in receiving the user's nickname from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestEmail">
      <summary>
            Gets or sets your level of interest in receiving the user's email address from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestFullName">
      <summary>
            Gets or sets your level of interest in receiving the user's full name from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestBirthDate">
      <summary>
            Gets or sets your level of interest in receiving the user's birthdate from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestGender">
      <summary>
            Gets or sets your level of interest in receiving the user's gender from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestPostalCode">
      <summary>
            Gets or sets your level of interest in receiving the user's postal code from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestCountry">
      <summary>
            Gets or sets your level of interest in receiving the user's country from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestLanguage">
      <summary>
            Gets or sets your level of interest in receiving the user's preferred language from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.RequestTimeZone">
      <summary>
            Gets or sets your level of interest in receiving the user's time zone from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.PolicyUrl">
      <summary>
            Gets or sets the URL to your privacy policy page that describes how 
            claims will be used and/or shared.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox.EnableRequestProfile">
      <summary>
            Gets or sets a value indicating whether to use OpenID extensions
            to retrieve profile data of the authenticating user.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin">
      <summary>
            An ASP.NET control providing a complete OpenID login experience.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterToolTipDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMeTextDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMeText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ButtonTextDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ButtonText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.CanceledTextDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.CanceledText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.FailedMessageTextDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.FailedMessageText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ExamplePrefixDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ExamplePrefix" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ExampleUrlDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ExampleUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.LabelTextDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.LabelText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RequiredTextDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RequiredText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.UriFormatTextDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.UriFormatText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterTextDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterUrlDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ButtonToolTipDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ButtonToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ValidationGroupDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ValidationGroup" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterVisibleDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterVisible" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMeVisibleDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMeVisible" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMeDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMe" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.UriValidatorEnabledDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.UriValidatorEnabled" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.FailedMessageTextViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.FailedMessageText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.CanceledTextViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.CanceledText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.IdSelectorIdentifierViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.IdSelectorIdentifier" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RequiredTextSuffix">
      <summary>
            The HTML to append to the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RequiredText" /> property value when rendering.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.TextBoxTabIndexOffset">
      <summary>
            The number to add to <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.TabIndex" /> to get the tab index of the textbox control.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.LoginButtonTabIndexOffset">
      <summary>
            The number to add to <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.TabIndex" /> to get the tab index of the login button control.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMeTabIndexOffset">
      <summary>
            The number to add to <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.TabIndex" /> to get the tab index of the remember me checkbox control.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterTabIndexOffset">
      <summary>
            The number to add to <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.TabIndex" /> to get the tab index of the register link control.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.panel">
      <summary>
            The control into which all other controls are added.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.loginButton">
      <summary>
            The Login button.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.label">
      <summary>
            The label that presents the text box.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.requiredValidator">
      <summary>
            The validator that flags an empty text box.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.identifierFormatValidator">
      <summary>
            The validator that flags invalid formats of OpenID identifiers.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.examplePrefixLabel">
      <summary>
            The label that precedes an example OpenID identifier.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.exampleUrlLabel">
      <summary>
            The label that contains the example OpenID identifier.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.registerLink">
      <summary>
            A link to allow the user to create an account with a popular OpenID Provider.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.rememberMeCheckBox">
      <summary>
            The Remember Me checkbox.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.idselectorJavascript">
      <summary>
            The javascript snippet that activates the ID Selector javascript control.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.errorLabel">
      <summary>
            The label that will display login failure messages.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RenderControl(System.Web.UI.HtmlTextWriter)">
      <summary>
            Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
            </summary>
      <param name="writer">The <see cref="T:System.Web.UI.HTmlTextWriter" /> object that receives the control content.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.RenderControl(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="Control">writer != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.CreateChildControls">
      <summary>
            Creates the child controls.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.OnPreRender(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Web.UI.Control.PreRender" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnPreRender(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.InitializeControls">
      <summary>
            Initializes the child controls.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.OnInit(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnInit(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RenderChildren(System.Web.UI.HtmlTextWriter)">
      <summary>
            Renders the child controls.
            </summary>
      <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the rendered content.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.RenderChildren(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="Control">writer != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.OnFailed(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Adds failure handling to display an error message to the user.
            </summary>
      <param name="response">The response.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.OnFailed(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)" inheritedFromTypeName="OpenIdRelyingPartyControlBase" exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.OnFailed(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)" inheritedFromTypeName="OpenIdRelyingPartyControlBase" exception="T:System.ArgumentException">response.Status == AuthenticationStatus.Failed</requires>
      <exception cref="T:System.ArgumentException">response.Status != AuthenticationStatus.Failed</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.OnCanceled(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Adds authentication cancellation behavior to display a message to the user.
            </summary>
      <param name="response">The response.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.OnCanceled(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)" inheritedFromTypeName="OpenIdRelyingPartyControlBase" exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.OnCanceled(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)" inheritedFromTypeName="OpenIdRelyingPartyControlBase" exception="T:System.ArgumentException">response.Status == AuthenticationStatus.Canceled</requires>
      <exception cref="T:System.ArgumentException">response.Status != AuthenticationStatus.Canceled</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.OnRememberMeChanged">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMeChanged" /> event.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.IdentifierFormatValidator_ServerValidate(System.Object,System.Web.UI.WebControls.ServerValidateEventArgs)">
      <summary>
            Handles the ServerValidate event of the identifierFormatValidator control.
            </summary>
      <param name="source">The source of the event.</param>
      <param name="args">The <see cref="T:System.Web.UI.WebControls.ServerValidateEventArgs" /> instance containing the event data.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMeCheckBox_CheckedChanged(System.Object,System.EventArgs)">
      <summary>
            Handles the CheckedChanged event of the rememberMeCheckBox control.
            </summary>
      <param name="sender">The source of the event.</param>
      <param name="e">The <see cref="T:System.EventArgs" /> instance containing the event data.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.LoginButton_Click(System.Object,System.EventArgs)">
      <summary>
            Handles the Click event of the loginButton control.
            </summary>
      <param name="sender">The source of the event.</param>
      <param name="e">The <see cref="T:System.EventArgs" /> instance containing the event data.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RenderControlInner(System.Web.UI.HtmlTextWriter)">
      <summary>
            Renders the control inner.
            </summary>
      <param name="writer">The writer.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.SetChildControlReferenceIds">
      <summary>
            Sets child control properties that depend on this control's ID.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMeChanged">
      <summary>
            Fired when the Remember Me checkbox is changed by the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.Controls">
      <summary>
            Gets a <see cref="T:System.Web.UI.ControlCollection" /> object that represents the child controls for a specified server control in the UI hierarchy.
            </summary>
      <returns>
            The collection of child controls for the specified server control.
            </returns>
      <getter>
        <ensures inheritedFrom="M:System.Web.UI.Control.get_Controls" inheritedFromTypeName="Control">Contract.Result&lt;ControlCollection&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.LabelText">
      <summary>
            Gets or sets the caption that appears before the text box.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ExamplePrefix">
      <summary>
            Gets or sets the text that introduces the example OpenID url.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ExampleUrl">
      <summary>
            Gets or sets the example OpenID Identifier to display to the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RequiredText">
      <summary>
            Gets or sets the text to display if the user attempts to login 
            without providing an Identifier.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.UriFormatText">
      <summary>
            Gets or sets the text to display if the user provides an invalid form for an Identifier.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.UriValidatorEnabled">
      <summary>
            Gets or sets a value indicating whether to perform Identifier 
            format validation prior to an authentication attempt.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterText">
      <summary>
            Gets or sets the text of the link users can click on to obtain an OpenID.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterUrl">
      <summary>
            Gets or sets the URL to link users to who click the link to obtain a new OpenID.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterToolTip">
      <summary>
            Gets or sets the text of the tooltip to display when the user hovers 
            over the link to obtain a new OpenID.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RegisterVisible">
      <summary>
            Gets or sets a value indicating whether to display a link to 
            allow users to easily obtain a new OpenID.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ButtonText">
      <summary>
            Gets or sets the text that appears on the button that initiates login.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMeText">
      <summary>
            Gets or sets the text of the "Remember Me" checkbox.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.FailedMessageText">
      <summary>
            Gets or sets the message display in the event of a failed 
            authentication.  {0} may be used to insert the actual error.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.CanceledText">
      <summary>
            Gets or sets the text to display in the event of an authentication canceled at the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMeVisible">
      <summary>
            Gets or sets a value indicating whether the "Remember Me" checkbox should be displayed.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.RememberMe">
      <summary>
            Gets or sets a value indicating whether a successful authentication should result in a persistent
            cookie being saved to the browser.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.TabIndex">
      <summary>
            Gets or sets the starting tab index to distribute across the controls.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ButtonToolTip">
      <summary>
            Gets or sets the tooltip to display when the user hovers over the login button.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.ValidationGroup">
      <summary>
            Gets or sets the validation group that the login button and text box validator belong to.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.IdSelectorIdentifier">
      <summary>
            Gets or sets the unique hash string that ends your idselector.com account.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.UsePersistentCookie">
      <summary>
            Gets or sets a value indicating whether a FormsAuthentication 
            cookie should persist across user sessions.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.InPlaceControl">
      <summary>
            A control that acts as a placeholder to indicate where
            the OpenIdLogin control should render its OpenIdTextBox parent.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.InPlaceControl.renderControl">
      <summary>
            The owning control to render.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.InPlaceControl.#ctor(DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.InPlaceControl" /> class.
            </summary>
      <param name="renderControl">The render control.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin.InPlaceControl.Render(System.Web.UI.HtmlTextWriter)">
      <summary>
            Sends server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object, which writes the content to be rendered on the client.
            </summary>
      <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the server control content.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.Render(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="Control">writer != null</requires>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxRelyingParty">
      <summary>
            Provides the programmatic facilities to act as an AJAX-enabled OpenID relying party.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxRelyingParty.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxRelyingParty" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxRelyingParty.#ctor(DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyApplicationStore)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxRelyingParty" /> class.
            </summary>
      <param name="applicationStore">The application store.  If <c>null</c>, the relying party will always operate in "dumb mode".</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxRelyingParty.CreateRequests(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm,System.Uri)">
      <summary>
            Generates AJAX-ready authentication requests that can satisfy the requirements of some OpenID Identifier.
            </summary>
      <param name="userSuppliedIdentifier">The Identifier supplied by the user.  This may be a URL, an XRI or i-name.</param>
      <param name="realm">The shorest URL that describes this relying party web site's address.
            For example, if your login page is found at https://www.example.com/login.aspx,
            your realm would typically be https://www.example.com/.</param>
      <param name="returnToUrl">The URL of the login page, or the page prepared to receive authentication
            responses from the OpenID Provider.</param>
      <returns>
            A sequence of authentication requests, any of which constitutes a valid identity assertion on the Claimed Identifier.
            Never null, but may be empty.
            </returns>
      <remarks>
        <para>Any individual generated request can satisfy the authentication.
            The generated requests are sorted in preferred order.
            Each request is generated as it is enumerated to.  Associations are created only as
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest.RedirectingResponse" /> is called.</para>
        <para>No exception is thrown if no OpenID endpoints were discovered.
            An empty enumerable is returned instead.</para>
      </remarks>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequests(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm,System.Uri)" inheritedFromTypeName="OpenIdRelyingParty" exception="T:System.ArgumentNullException">userSuppliedIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">userSuppliedIdentifier == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequests(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm,System.Uri)" inheritedFromTypeName="OpenIdRelyingParty" exception="T:System.ArgumentNullException">realm != null</requires>
      <exception cref="T:System.ArgumentNullException">realm == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequests(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm,System.Uri)" inheritedFromTypeName="OpenIdRelyingParty" exception="T:System.ArgumentNullException">returnToUrl != null</requires>
      <exception cref="T:System.ArgumentNullException">returnToUrl == null</exception>
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.CreateRequests(DotNetOpenAuth.OpenId.Identifier,DotNetOpenAuth.OpenId.Realm,System.Uri)" inheritedFromTypeName="OpenIdRelyingParty">Contract.Result&lt;IEnumerable&lt;IAuthenticationRequest&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxRelyingParty.AsAjaxDiscoveryResult(System.Collections.Generic.IEnumerable{DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest})">
      <summary>
            Serializes discovery results on some <i>single</i> identifier on behalf of Javascript running on the browser.
            </summary>
      <param name="requests">The discovery results from just <i>one</i> identifier to serialize as a JSON response.</param>
      <returns>
            The JSON result to return to the user agent.
            </returns>
      <remarks>
            We prepare a JSON object with this interface:
            <code>
            class jsonResponse {
               string claimedIdentifier;
               Array requests; // never null
               string error; // null if no error
            }
            </code>
            Each element in the requests array looks like this:
            <code>
            class jsonAuthRequest {
               string endpoint;  // URL to the OP endpoint
               string immediate; // URL to initiate an immediate request
               string setup;     // URL to initiate a setup request.
            }
            </code></remarks>
      <requires exception="T:System.ArgumentNullException">requests != null</requires>
      <exception cref="T:System.ArgumentNullException">requests == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxRelyingParty.AsAjaxPreloadedDiscoveryResult(System.Collections.Generic.IEnumerable{DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest})">
      <summary>
            Serializes discovery on a set of identifiers for preloading into an HTML page that carries
            an AJAX-aware OpenID control.
            </summary>
      <param name="requests">The discovery results to serialize as a JSON response.</param>
      <returns>
            The JSON result to return to the user agent.
            </returns>
      <requires exception="T:System.ArgumentNullException">requests != null</requires>
      <exception cref="T:System.ArgumentNullException">requests == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxRelyingParty.AsJsonDiscoveryResult(System.Collections.Generic.IEnumerable{DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest})">
      <summary>
            Converts a sequence of authentication requests to a JSON object for seeding an AJAX-enabled login page.
            </summary>
      <param name="requests">The discovery results from just <i>one</i> identifier to serialize as a JSON response.</param>
      <returns>A JSON object, not yet serialized.</returns>
      <requires exception="T:System.ArgumentNullException">requests != null</requires>
      <exception cref="T:System.ArgumentNullException">requests == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxRelyingParty.AsJsonPreloadedDiscoveryResult(System.Collections.Generic.IEnumerable{DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest})">
      <summary>
            Serializes discovery on a set of identifiers for preloading into an HTML page that carries
            an AJAX-aware OpenID control.
            </summary>
      <param name="requests">The discovery results to serialize as a JSON response.</param>
      <returns>
            A JSON object, not yet serialized to a string.
            </returns>
      <requires exception="T:System.ArgumentNullException">requests != null</requires>
      <exception cref="T:System.ArgumentNullException">requests == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxRelyingParty.GetRedirectUrl(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest,System.Boolean)">
      <summary>
            Gets the full URL that carries an OpenID message, even if it exceeds the normal maximum size of a URL,
            for purposes of sending to an AJAX component running in the browser.
            </summary>
      <param name="request">The authentication request.</param>
      <param name="immediate">
        <c>true</c>to create a checkid_immediate request;
            <c>false</c> to create a checkid_setup request.</param>
      <returns>The absolute URL that carries the entire OpenID message.</returns>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.SelectorButtonContract">
      <summary>
            The contract class for the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton" /> class.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton">
      <summary>
            A button that would appear in the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector" /> control via its <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.Buttons" /> collection.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.EnsureValid">
      <summary>
            Ensures that this button has been initialized to a valid state.
            </summary>
      <remarks>
            This is "internal" -- NOT "protected internal" deliberately.  It makes it impossible
            to derive from this class outside the assembly, which suits our purposes since the
            <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector" /> control is not designed for an extensible set of button types.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.RenderLeadingAttributes(System.Web.UI.HtmlTextWriter)">
      <summary>
            Renders the leading attributes for the LI tag.
            </summary>
      <param name="writer">The writer.</param>
      <requires exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.RenderButtonContent(System.Web.UI.HtmlTextWriter,DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector)">
      <summary>
            Renders the content of the button.
            </summary>
      <param name="writer">The writer.</param>
      <param name="selector">The containing selector control.</param>
      <requires exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
      <requires exception="T:System.ArgumentNullException">selector != null</requires>
      <exception cref="T:System.ArgumentNullException">selector == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButtonContract.EnsureValid">
      <summary>
            Ensures that this button has been initialized to a valid state.
            </summary>
      <remarks>
            This is "internal" -- NOT "protected internal" deliberately.  It makes it impossible
            to derive from this class outside the assembly, which suits our purposes since the
            <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector" /> control is not designed for an extensible set of button types.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButtonContract.RenderLeadingAttributes(System.Web.UI.HtmlTextWriter)">
      <summary>
            Renders the leading attributes for the LI tag.
            </summary>
      <param name="writer">The writer.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButtonContract.RenderButtonContent(System.Web.UI.HtmlTextWriter,DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector)">
      <summary>
            Renders the content of the button.
            </summary>
      <param name="writer">The writer.</param>
      <param name="selector">The containing selector control.</param>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.SelectorProviderButton">
      <summary>
            A button that appears in the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector" /> control that
            provides one-click access to a popular OpenID Provider.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorProviderButton.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.SelectorProviderButton" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorProviderButton.#ctor(DotNetOpenAuth.OpenId.Identifier,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.SelectorProviderButton" /> class.
            </summary>
      <param name="providerIdentifier">The OP Identifier.</param>
      <param name="imageUrl">The image to display on the button.</param>
      <requires exception="T:System.ArgumentNullException">providerIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">providerIdentifier == null</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(imageUrl)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(imageUrl)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorProviderButton.EnsureValid">
      <summary>
            Ensures that this button has been initialized to a valid state.
            </summary>
      <ensures>!string.IsNullOrEmpty(this.Image)</ensures>
      <ensures>this.OPIdentifier != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorProviderButton.RenderLeadingAttributes(System.Web.UI.HtmlTextWriter)">
      <summary>
            Renders the leading attributes for the LI tag.
            </summary>
      <param name="writer">The writer.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.RenderLeadingAttributes(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="SelectorButton" exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorProviderButton.RenderButtonContent(System.Web.UI.HtmlTextWriter,DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector)">
      <summary>
            Renders the content of the button.
            </summary>
      <param name="writer">The writer.</param>
      <param name="selector">The containing selector control.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.RenderButtonContent(System.Web.UI.HtmlTextWriter,DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector)" inheritedFromTypeName="SelectorButton" exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.RenderButtonContent(System.Web.UI.HtmlTextWriter,DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector)" inheritedFromTypeName="SelectorButton" exception="T:System.ArgumentNullException">selector != null</requires>
      <exception cref="T:System.ArgumentNullException">selector == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.SelectorProviderButton.Image">
      <summary>
            Gets or sets the path to the image to display on the button's surface.
            </summary>
      <value>The virtual path to the image.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.SelectorProviderButton.OPIdentifier">
      <summary>
            Gets or sets the OP Identifier represented by the button.
            </summary>
      <value>
            The OP identifier, which may be provided in the easiest "user-supplied identifier" form,
            but for security should be provided with a leading https:// if possible.
            For example: "yahoo.com" or "https://me.yahoo.com/".
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.SelectorProviderButton.SkipBackgroundAuthentication">
      <summary>
            Gets or sets a value indicating whether this Provider doesn't handle
            checkid_immediate messages correctly and background authentication
            should not be attempted.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.SelectorOpenIdButton">
      <summary>
            A button that appears in the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector" /> control that
            allows the user to type in a user-supplied identifier.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorOpenIdButton.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.SelectorOpenIdButton" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorOpenIdButton.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.SelectorOpenIdButton" /> class.
            </summary>
      <param name="imageUrl">The image to display on the button.</param>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(imageUrl)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(imageUrl)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorOpenIdButton.EnsureValid">
      <summary>
            Ensures that this button has been initialized to a valid state.
            </summary>
      <ensures>!string.IsNullOrEmpty(this.Image)</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorOpenIdButton.RenderLeadingAttributes(System.Web.UI.HtmlTextWriter)">
      <summary>
            Renders the leading attributes for the LI tag.
            </summary>
      <param name="writer">The writer.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.RenderLeadingAttributes(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="SelectorButton" exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorOpenIdButton.RenderButtonContent(System.Web.UI.HtmlTextWriter,DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector)">
      <summary>
            Renders the content of the button.
            </summary>
      <param name="writer">The writer.</param>
      <param name="selector">The containing selector control.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.RenderButtonContent(System.Web.UI.HtmlTextWriter,DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector)" inheritedFromTypeName="SelectorButton" exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.RenderButtonContent(System.Web.UI.HtmlTextWriter,DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector)" inheritedFromTypeName="SelectorButton" exception="T:System.ArgumentNullException">selector != null</requires>
      <exception cref="T:System.ArgumentNullException">selector == null</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.SelectorOpenIdButton.Image">
      <summary>
            Gets or sets the path to the image to display on the button's surface.
            </summary>
      <value>The virtual path to the image.</value>
    </member>
    <member name="T:DotNetOpenAuth.XrdsUrlLocations">
      <summary>
            The locations the YADIS protocol describes can contain a reference
            to an XRDS document.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.XrdsUrlLocations.None">
      <summary>
            The XRDS document should not be advertised anywhere.
            </summary>
      <remarks>
            When the XRDS document is not referenced from anywhere,
            the XRDS content is only available when 
            <see cref="P:DotNetOpenAuth.XrdsPublisher.XrdsAutoAnswer" /> is <c>true</c> 
            and the discovering client includes an 
            "Accept: application/xrds+xml" HTTP header.
            </remarks>
    </member>
    <member name="F:DotNetOpenAuth.XrdsUrlLocations.HttpHeader">
      <summary>
            Indicates XRDS document referencing from an HTTP protocol header (outside the HTML).
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.XrdsUrlLocations.HtmlMeta">
      <summary>
            Indicates XRDS document referencing from within an HTML page's &lt;HEAD&gt; tag.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.XrdsUrlLocations.Both">
      <summary>
            Indicates XRDS document referencing in both HTTP headers and HTML HEAD tags.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.XrdsPublisher">
      <summary>
            An ASP.NET control that advertises an XRDS document and even responds to specially
            crafted requests to retrieve it.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.XrdsPublisher.XrdsUrlViewStateKey">
      <summary>
            The view state key to ues for storing the value of the <see cref="P:DotNetOpenAuth.XrdsPublisher.XrdsUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.XrdsPublisher.XrdsAdvertisementDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.XrdsPublisher.XrdsAdvertisement" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.XrdsPublisher.XrdsAdvertisementViewStateKey">
      <summary>
            The view state key to ues for storing the value of the <see cref="P:DotNetOpenAuth.XrdsPublisher.XrdsAdvertisement" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.XrdsPublisher.XrdsAutoAnswerDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.XrdsPublisher.XrdsAutoAnswer" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.XrdsPublisher.XrdsAutoAnswerViewStateKey">
      <summary>
            The view state key to ues for storing the value of the <see cref="P:DotNetOpenAuth.XrdsPublisher.XrdsAutoAnswer" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.XrdsPublisher.EnabledDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.XrdsPublisher.Enabled" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.XrdsPublisher.EnabledViewStateKey">
      <summary>
            The view state key to ues for storing the value of the <see cref="P:DotNetOpenAuth.XrdsPublisher.Enabled" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.XrdsPublisher.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.XrdsPublisher" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.XrdsPublisher.OnLoad(System.EventArgs)">
      <summary>
            Detects YADIS requests for the XRDS document and responds immediately
            if <see cref="P:DotNetOpenAuth.XrdsPublisher.XrdsAutoAnswer" /> is true.
            </summary>
      <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnLoad(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.XrdsPublisher.Render(System.Web.UI.HtmlTextWriter)">
      <summary>
            Renders the HTTP Header and/or HTML HEAD tags.
            </summary>
      <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the server control content.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.Render(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="Control">writer != null</requires>
    </member>
    <member name="P:DotNetOpenAuth.XrdsPublisher.XrdsUrl">
      <summary>
            Gets or sets the location of the XRDS document.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.XrdsPublisher.XrdsAdvertisement">
      <summary>
            Gets or sets where the XRDS document URL is advertised in the web response.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.XrdsPublisher.XrdsAutoAnswer">
      <summary>
            Gets or sets a value indicating whether a specially crafted YADIS 
            search for an XRDS document is immediately answered by this control.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.XrdsPublisher.Enabled">
      <summary>
            Gets or sets a value indicating whether the XRDS document is advertised.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.ReceivingTokenEventArgs">
      <summary>
            Arguments for the <see cref="E:DotNetOpenAuth.InfoCard.InfoCardSelector.ReceivingToken" /> event.
            </summary>
      <invariant>this.TokenXml != null</invariant>
      <invariant>this.DecryptingTokens != null</invariant>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.ReceivingTokenEventArgs.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.InfoCard.ReceivingTokenEventArgs" /> class.
            </summary>
      <param name="tokenXml">The raw token XML, prior to any decryption.</param>
      <requires exception="T:System.ArgumentNullException">tokenXml != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenXml == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.ReceivingTokenEventArgs.AddDecryptingToken(System.IdentityModel.Tokens.SecurityToken)">
      <summary>
            Adds a security token that may be used to decrypt the incoming token.
            </summary>
      <param name="securityToken">The security token.</param>
      <requires exception="T:System.ArgumentNullException">securityToken != null</requires>
      <exception cref="T:System.ArgumentNullException">securityToken == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.ReceivingTokenEventArgs.AddDecryptingToken(System.Security.Cryptography.X509Certificates.X509Certificate2)">
      <summary>
            Adds an X.509 certificate with a private key that may be used to decrypt the incoming token.
            </summary>
      <param name="certificate">The certificate.</param>
      <requires exception="T:System.ArgumentNullException">certificate != null</requires>
      <exception cref="T:System.ArgumentNullException">certificate == null</exception>
      <requires exception="T:System.ArgumentException">certificate.HasPrivateKey</requires>
      <exception cref="T:System.ArgumentException">!(certificate.HasPrivateKey)</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.ReceivingTokenEventArgs.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.ReceivingTokenEventArgs.IsEncrypted">
      <summary>
            Gets a value indicating whether the token is encrypted.
            </summary>
      <value>
        <c>true</c> if the token is encrypted; otherwise, <c>false</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.ReceivingTokenEventArgs.TokenXml">
      <summary>
            Gets the raw token XML, prior to any decryption.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.ReceivingTokenEventArgs.Cancel">
      <summary>
            Gets or sets a value indicating whether processing
            this token should be canceled.
            </summary>
      <value>
        <c>true</c> if cancel; otherwise, <c>false</c>.</value>
      <remarks>
            If set the <c>true</c>, the <see cref="E:DotNetOpenAuth.InfoCard.InfoCardSelector.ReceivedToken" />
            event will never be fired.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.ReceivingTokenEventArgs.DecryptingTokens">
      <summary>
            Gets a list where security tokens such as X.509 certificates may be
            added to be used for token decryption.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.TokenProcessingErrorEventArgs">
      <summary>
            Arguments for the <see cref="E:DotNetOpenAuth.InfoCard.InfoCardSelector.TokenProcessingError" /> event.
            </summary>
      <invariant>this.TokenXml != null</invariant>
      <invariant>this.Exception != null</invariant>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenProcessingErrorEventArgs.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.InfoCard.TokenProcessingErrorEventArgs" /> class.
            </summary>
      <param name="tokenXml">The token XML.</param>
      <param name="exception">The exception.</param>
      <requires exception="T:System.ArgumentNullException">tokenXml != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenXml == null</exception>
      <requires exception="T:System.ArgumentNullException">exception != null</requires>
      <exception cref="T:System.ArgumentNullException">exception == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.TokenProcessingErrorEventArgs.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.TokenProcessingErrorEventArgs.TokenXml">
      <summary>
            Gets the raw token XML.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.TokenProcessingErrorEventArgs.Exception">
      <summary>
            Gets the exception that was generated while processing the token.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.RenderMode">
      <summary>
            The style to use for NOT displaying a hidden region.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.RenderMode.Static">
      <summary>
            A hidden region should be invisible while still occupying space in the page layout.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.RenderMode.Dynamic">
      <summary>
            A hidden region should collapse so that it does not occupy space in the page layout.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.InfoCardSelector">
      <summary>
            An Information Card selector ASP.NET control.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.ScriptResourceName">
      <summary>
            The resource name for getting at the SupportingScript.js embedded manifest stream.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.RenderModeDefault">
      <summary>
            Default value for the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.RenderMode" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.AutoPostBackDefault">
      <summary>
            Default value for the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.AutoPostBack" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.AutoPopupDefault">
      <summary>
            Default value for the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.AutoPopup" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.PrivacyUrlDefault">
      <summary>
            Default value for the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.PrivacyUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.PrivacyVersionDefault">
      <summary>
            Default value for the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.PrivacyVersion" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.InfoCardImageDefault">
      <summary>
            Default value for the <see cref="T:DotNetOpenAuth.InfoCard.InfoCardImage" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.IssuerPolicyDefault">
      <summary>
            Default value for the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.IssuerPolicy" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.IssuerDefault">
      <summary>
            Default value for the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.Issuer" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.TokenTypeDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.TokenType" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.IssuerViewStateKey">
      <summary>
            The viewstate key for storing the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.Issuer" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.IssuerPolicyViewStateKey">
      <summary>
            The viewstate key for storing the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.IssuerPolicy" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.AutoPopupViewStateKey">
      <summary>
            The viewstate key for storing the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.AutoPopup" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.ClaimsRequestedViewStateKey">
      <summary>
            The viewstate key for storing the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.ClaimsRequested" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.TokenTypeViewStateKey">
      <summary>
            The viewstate key for storing the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.TokenType" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.PrivacyUrlViewStateKey">
      <summary>
            The viewstate key for storing the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.PrivacyUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.PrivacyVersionViewStateKey">
      <summary>
            The viewstate key for storing the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.PrivacyVersion" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.AudienceViewStateKey">
      <summary>
            The viewstate key for storing the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.Audience" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.AutoPostBackViewStateKey">
      <summary>
            The viewstate key for storing the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.AutoPostBack" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.ImageSizeViewStateKey">
      <summary>
            The viewstate key for storing the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.ImageSize" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.RenderModeViewStateKey">
      <summary>
            The viewstate key for storing the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.RenderMode" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.BehaviorCategory">
      <summary>
            The "Behavior" property category.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.AppearanceCategory">
      <summary>
            The "Appearance" property category.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.InfoCardCategory">
      <summary>
            The "InfoCard" property category.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.infoCardSupportedPanel">
      <summary>
            The panel containing the controls to display if InfoCard is supported in the user agent.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.infoCardNotSupportedPanel">
      <summary>
            The panel containing the controls to display if InfoCard is NOT supported in the user agent.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.InfoCard.InfoCardSelector.audienceSet">
      <summary>
            Recalls whether the <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.Audience" /> property has been set yet,
            so its default can be set as soon as possible without overwriting
            an intentional value.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.InfoCard.InfoCardSelector" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.System#Web#UI#IPostBackEventHandler#RaisePostBackEvent(System.String)">
      <summary>
            When implemented by a class, enables a server control to process an event raised when a form is posted to the server.
            </summary>
      <param name="eventArgument">A <see cref="T:System.String" /> that represents an optional event argument to be passed to the event handler.</param>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.RaisePostBackEvent(System.String)">
      <summary>
            When implemented by a class, enables a server control to process an event raised when a form is posted to the server.
            </summary>
      <param name="eventArgument">A <see cref="T:System.String" /> that represents an optional event argument to be passed to the event handler.</param>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.OnReceivingToken(System.String)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.InfoCard.InfoCardSelector.ReceivingToken" /> event.
            </summary>
      <param name="tokenXml">The token XML, prior to any processing.</param>
      <returns>The event arguments sent to the event handlers.</returns>
      <requires exception="T:System.ArgumentNullException">tokenXml != null</requires>
      <exception cref="T:System.ArgumentNullException">tokenXml == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.OnReceivedToken(DotNetOpenAuth.InfoCard.Token)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.InfoCard.InfoCardSelector.ReceivedToken" /> event.
            </summary>
      <param name="token">The token, if it was decrypted.</param>
      <requires exception="T:System.ArgumentNullException">token != null</requires>
      <exception cref="T:System.ArgumentNullException">token == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.OnTokenProcessingError(System.String,System.Exception)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.InfoCard.InfoCardSelector.TokenProcessingError" /> event.
            </summary>
      <param name="unprocessedToken">The unprocessed token.</param>
      <param name="ex">The exception generated while processing the token.</param>
      <requires exception="T:System.ArgumentNullException">unprocessedToken != null</requires>
      <exception cref="T:System.ArgumentNullException">unprocessedToken == null</exception>
      <requires exception="T:System.ArgumentNullException">ex != null</requires>
      <exception cref="T:System.ArgumentNullException">ex == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.OnInit(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnInit(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.CreateChildControls">
      <summary>
            Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.OnPreRender(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Web.UI.Control.PreRender" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnPreRender(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.CreateParamJs(System.String,System.String)">
      <summary>
            Creates a control that renders to &lt;Param Name="{0}" Value="{1}" /&gt;
            </summary>
      <param name="name">The parameter name.</param>
      <param name="value">The parameter value.</param>
      <returns>The control that renders to the Param tag.</returns>
      <ensures>Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.CreateInfoCardSupportedPanel">
      <summary>
            Creates the panel whose contents are displayed to the user
            on a user agent that has an Information Card selector.
            </summary>
      <returns>The Panel control</returns>
      <pure />
      <ensures>Contract.Result&lt;Panel&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.GetInfoCardSelectorActivationScript(System.Boolean)">
      <summary>
            Gets the InfoCard selector activation script.
            </summary>
      <param name="alwaysPostback">Whether a postback should always immediately follow the selector, even if <see cref="P:DotNetOpenAuth.InfoCard.InfoCardSelector.AutoPostBack" /> is <c>false</c>.</param>
      <returns>The javascript to inject into the surrounding context.</returns>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.CreateInfoCardUnsupportedPanel">
      <summary>
            Creates the panel whose contents are displayed to the user
            on a user agent that does not have an Information Card selector.
            </summary>
      <returns>The Panel control.</returns>
      <pure />
      <ensures>Contract.Result&lt;Panel&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.RegisterInfoCardSelectorObjectScript">
      <summary>
            Adds the javascript that adds the info card selector &lt;object&gt; HTML tag to the page.
            </summary>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.CreateInfoCardImage">
      <summary>
            Creates the info card clickable image.
            </summary>
      <returns>An Image object.</returns>
      <pure />
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.GetRequestedClaims(System.String@,System.String@)">
      <summary>
            Compiles lists of requested/required claims that should accompany
            any submitted Information Card.
            </summary>
      <param name="required">A space-delimited list of claim type URIs for claims that must be included in a submitted Information Card.</param>
      <param name="optional">A space-delimited list of claim type URIs for claims that may optionally be included in a submitted Information Card.</param>
      <pure />
      <requires exception="T:System.InvalidOperationException">this.ClaimsRequested != null</requires>
      <exception cref="T:System.InvalidOperationException">this.ClaimsRequested == null</exception>
      <ensures>Contract.ValueAtReturn&lt;string&gt;(out required) != null</ensures>
      <ensures>Contract.ValueAtReturn&lt;string&gt;(out optional) != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.InfoCardSelector.RenderSupportingScript">
      <summary>
            Adds Javascript snippets to the page to help the Information Card selector do its work,
            or to downgrade gracefully if the user agent lacks an Information Card selector.
            </summary>
      <requires exception="T:System.InvalidOperationException">this.infoCardSupportedPanel != null</requires>
      <exception cref="T:System.InvalidOperationException">this.infoCardSupportedPanel == null</exception>
    </member>
    <member name="E:DotNetOpenAuth.InfoCard.InfoCardSelector.ReceivingToken">
      <summary>
            Occurs when an InfoCard has been submitted but not decoded yet.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.InfoCard.InfoCardSelector.ReceivedToken">
      <summary>
            Occurs when an InfoCard has been submitted and decoded.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.InfoCard.InfoCardSelector.TokenProcessingError">
      <summary>
            Occurs when an InfoCard token is submitted but an error occurs in processing.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.ClaimsRequested">
      <summary>
            Gets the set of claims that are requested from the Information Card.
            </summary>
      <getter>
        <ensures>Contract.Result&lt;Collection&lt;ClaimType&gt;&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.Issuer">
      <summary>
            Gets or sets the issuer URI.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.IssuerPolicy">
      <summary>
            Gets or sets the issuer policy URI.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.PrivacyUrl">
      <summary>
            Gets or sets the URL to this site's privacy policy.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.PrivacyVersion">
      <summary>
            Gets or sets the version of the privacy policy file.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.Audience">
      <summary>
            Gets or sets the URI that must be found for the SAML token's intended audience
            in order for the token to be processed.
            </summary>
      <value>Typically the URI of the page hosting the control, or <c>null</c> to disable audience verification.</value>
      <remarks>
            Disabling audience verification introduces a security risk 
            because tokens can be redirected to allow access to unintended resources.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.AutoPostBack">
      <summary>
            Gets or sets a value indicating whether a postback will automatically
            be invoked when the user selects an Information Card.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.ImageSize">
      <summary>
            Gets or sets the size of the standard InfoCard image to display.
            </summary>
      <value>The default size is 114x80.</value>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.UnsupportedTemplate">
      <summary>
            Gets or sets the template to display when the user agent lacks
            an Information Card selector.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.RenderMode">
      <summary>
            Gets or sets a value indicating whether a hidden region (either
            the unsupported or supported InfoCard HTML)
            collapses or merely becomes invisible when it is not to be displayed.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.AutoPopup">
      <summary>
            Gets or sets a value indicating whether the identity selector will be triggered at page load.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.HiddenFieldName">
      <summary>
            Gets the name of the hidden field that is used to transport the token back to the server.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.SelectorObjectId">
      <summary>
            Gets the id of the OBJECT tag that creates the InfoCard Selector.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.TokenXml">
      <summary>
            Gets the XML token, which will be encrypted if it was received over SSL.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.InfoCardSelector.TokenType">
      <summary>
            Gets or sets the type of token the page is prepared to receive.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.InfoCard.ReceivedTokenEventArgs">
      <summary>
            Arguments for the <see cref="E:DotNetOpenAuth.InfoCard.InfoCardSelector.ReceivedToken" /> event.
            </summary>
      <invariant>this.Token != null</invariant>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.ReceivedTokenEventArgs.#ctor(DotNetOpenAuth.InfoCard.Token)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.InfoCard.ReceivedTokenEventArgs" /> class.
            </summary>
      <param name="token">The token.</param>
    </member>
    <member name="M:DotNetOpenAuth.InfoCard.ReceivedTokenEventArgs.ObjectInvariant">
      <summary>
            Verifies conditions that should be true for any valid state of this object.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.InfoCard.ReceivedTokenEventArgs.Token">
      <summary>
            Gets the processed token.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.Mvc.OpenIdHelper">
      <summary>
            Methods that generate HTML or Javascript for hosting AJAX OpenID "controls" on
            ASP.NET MVC web sites.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.OpenIdSelectorStyles(System.Web.Mvc.HtmlHelper)">
      <summary>
            Emits a series of stylesheet import tags to support the AJAX OpenID Selector.
            </summary>
      <param name="html">The <see cref="T:System.Web.Mvc.HtmlHelper" /> on the view.</param>
      <returns>HTML that should be sent directly to the browser.</returns>
      <requires exception="T:System.ArgumentNullException">html != null</requires>
      <exception cref="T:System.ArgumentNullException">html == null</exception>
      <ensures>Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.OpenIdSelectorScripts(System.Web.Mvc.HtmlHelper)">
      <summary>
            Emits a series of script import tags and some inline script to support the AJAX OpenID Selector.
            </summary>
      <param name="html">The <see cref="T:System.Web.Mvc.HtmlHelper" /> on the view.</param>
      <returns>HTML that should be sent directly to the browser.</returns>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.OpenIdSelectorScripts(System.Web.Mvc.HtmlHelper,DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector,DotNetOpenAuth.Mvc.OpenIdAjaxOptions)">
      <summary>
            Emits a series of script import tags and some inline script to support the AJAX OpenID Selector.
            </summary>
      <param name="html">The <see cref="T:System.Web.Mvc.HtmlHelper" /> on the view.</param>
      <param name="selectorOptions">An optional instance of an <see cref="M:DotNetOpenAuth.Mvc.OpenIdHelper.OpenIdSelector(System.Web.Mvc.HtmlHelper,DotNetOpenAuth.OpenId.RelyingParty.SelectorButton[])" /> control, whose properties have been customized to express how this MVC control should be rendered.</param>
      <param name="additionalOptions">An optional set of additional script customizations.</param>
      <returns>
            HTML that should be sent directly to the browser.
            </returns>
      <requires exception="T:System.ArgumentNullException">html != null</requires>
      <exception cref="T:System.ArgumentNullException">html == null</exception>
      <ensures>Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.OpenIdSelectorOPButton(System.Web.Mvc.HtmlHelper,DotNetOpenAuth.OpenId.Identifier,System.String)">
      <summary>
            Emits the HTML to render an OpenID Provider button as a part of the overall OpenID Selector UI.
            </summary>
      <param name="html">The <see cref="T:System.Web.Mvc.HtmlHelper" /> on the view.</param>
      <param name="providerIdentifier">The OP Identifier.</param>
      <param name="imageUrl">The URL of the image to display on the button.</param>
      <returns>
            HTML that should be sent directly to the browser.
            </returns>
      <requires exception="T:System.ArgumentNullException">html != null</requires>
      <exception cref="T:System.ArgumentNullException">html == null</exception>
      <requires exception="T:System.ArgumentNullException">providerIdentifier != null</requires>
      <exception cref="T:System.ArgumentNullException">providerIdentifier == null</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(imageUrl)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(imageUrl)</exception>
      <ensures>Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.OpenIdSelectorOpenIdButton(System.Web.Mvc.HtmlHelper,System.String)">
      <summary>
            Emits the HTML to render a generic OpenID button as a part of the overall OpenID Selector UI,
            allowing the user to enter their own OpenID.
            </summary>
      <param name="html">The <see cref="T:System.Web.Mvc.HtmlHelper" /> on the view.</param>
      <param name="imageUrl">The URL of the image to display on the button.</param>
      <returns>
            HTML that should be sent directly to the browser.
            </returns>
      <requires exception="T:System.ArgumentNullException">html != null</requires>
      <exception cref="T:System.ArgumentNullException">html == null</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(imageUrl)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(imageUrl)</exception>
      <ensures>Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.OpenIdSelector(System.Web.Mvc.HtmlHelper,DotNetOpenAuth.OpenId.RelyingParty.SelectorButton[])">
      <summary>
            Emits the HTML to render the entire OpenID Selector UI.
            </summary>
      <param name="html">The <see cref="T:System.Web.Mvc.HtmlHelper" /> on the view.</param>
      <param name="buttons">The buttons to include on the selector.</param>
      <returns>
            HTML that should be sent directly to the browser.
            </returns>
      <requires exception="T:System.ArgumentNullException">html != null</requires>
      <exception cref="T:System.ArgumentNullException">html == null</exception>
      <requires exception="T:System.ArgumentNullException">buttons != null</requires>
      <exception cref="T:System.ArgumentNullException">buttons == null</exception>
      <ensures>Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.OpenIdAjaxTextBox(System.Web.Mvc.HtmlHelper)">
      <summary>
            Emits the HTML to render the <see cref="M:DotNetOpenAuth.Mvc.OpenIdHelper.OpenIdAjaxTextBox(System.Web.Mvc.HtmlHelper)" /> control as a part of the overall
            OpenID Selector UI.
            </summary>
      <param name="html">The <see cref="T:System.Web.Mvc.HtmlHelper" /> on the view.</param>
      <returns>
            HTML that should be sent directly to the browser.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.OpenIdSelectorButton(System.Web.Mvc.HtmlHelper,System.String,System.String,System.String)">
      <summary>
            Emits the HTML to render a button as a part of the overall OpenID Selector UI.
            </summary>
      <param name="html">The <see cref="T:System.Web.Mvc.HtmlHelper" /> on the view.</param>
      <param name="id">The value to assign to the HTML id attribute.</param>
      <param name="cssClass">The value to assign to the HTML class attribute.</param>
      <param name="imageUrl">The URL of the image to draw on the button.</param>
      <returns>
            HTML that should be sent directly to the browser.
            </returns>
      <requires exception="T:System.ArgumentNullException">html != null</requires>
      <exception cref="T:System.ArgumentNullException">html == null</exception>
      <requires exception="T:System.ArgumentNullException">id != null</requires>
      <exception cref="T:System.ArgumentNullException">id == null</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(imageUrl)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(imageUrl)</exception>
      <ensures>Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.WriteScriptTagsUrls(System.IO.TextWriter,System.Collections.Generic.IEnumerable{System.String})">
      <summary>
            Emits &lt;script&gt; tags that import a given set of scripts given their URLs.
            </summary>
      <param name="writer">The writer to emit the tags to.</param>
      <param name="scriptUrls">The locations of the scripts to import.</param>
      <requires exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
      <requires exception="T:System.ArgumentNullException">scriptUrls != null</requires>
      <exception cref="T:System.ArgumentNullException">scriptUrls == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.WriteScriptTags(System.IO.TextWriter,System.String)">
      <summary>
            Writes out script tags that import a script from resources embedded in this assembly.
            </summary>
      <param name="writer">The writer to emit the tags to.</param>
      <param name="resourceName">Name of the resource.</param>
      <requires exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(resourceName)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(resourceName)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.WriteScriptTags(System.IO.TextWriter,System.Collections.Generic.IEnumerable{System.String})">
      <summary>
            Writes out script tags that import scripts from resources embedded in this assembly.
            </summary>
      <param name="writer">The writer to emit the tags to.</param>
      <param name="resourceNames">The resource names.</param>
      <requires exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
      <requires exception="T:System.ArgumentNullException">resourceNames != null</requires>
      <exception cref="T:System.ArgumentNullException">resourceNames == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.WriteScriptBlock(System.IO.TextWriter,System.String)">
      <summary>
            Writes a given script block, surrounding it with &lt;script&gt; and CDATA tags.
            </summary>
      <param name="writer">The writer to emit the tags to.</param>
      <param name="script">The script to inline on the page.</param>
      <requires exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(script)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(script)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.WriteStylesheetLink(System.IO.TextWriter,System.String)">
      <summary>
            Writes a given CSS link.
            </summary>
      <param name="writer">The writer to emit the tags to.</param>
      <param name="resourceName">Name of the resource containing the CSS content.</param>
      <requires exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(resourceName)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(resourceName)</exception>
    </member>
    <member name="M:DotNetOpenAuth.Mvc.OpenIdHelper.WriteStylesheetLinkUrl(System.IO.TextWriter,System.String)">
      <summary>
            Writes a given CSS link.
            </summary>
      <param name="writer">The writer to emit the tags to.</param>
      <param name="stylesheet">The stylesheet to link in.</param>
      <requires exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(stylesheet)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(stylesheet)</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint">
      <summary>
            An ASP.NET control that manages the OpenID identity advertising tags
            of a user's Identity Page that allow a relying party web site to discover
            how to authenticate a user.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.AutoNormalizeRequestViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.AutoNormalizeRequest" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.ProviderLocalIdentifierViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.ProviderLocalIdentifier" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.ProviderVersionViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.ProviderVersion" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.ProviderEndpointUrlViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.ProviderEndpointUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.ProviderVersionDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.ProviderVersion" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.OnNormalize">
      <summary>
            Checks the incoming request and invokes a browser redirect if the URL has not been normalized.
            </summary>
      <seealso cref="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpointNormalizationEventArgs.NormalizedIdentifier" />
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.OnLoad(System.EventArgs)">
      <summary>
            Checks the incoming request and invokes a browser redirect if the URL has not been normalized.
            </summary>
      <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnLoad(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.Render(System.Web.UI.HtmlTextWriter)">
      <summary>
            Renders OpenID identity tags.
            </summary>
      <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the server control content.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.Render(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="Control">writer != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.BestGuessNormalization(System.Uri)">
      <summary>
            Normalizes the URL by making the path and query lowercase, and trimming trailing slashes.
            </summary>
      <param name="uri">The URI to normalize.</param>
      <returns>The normalized URI.</returns>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.NormalizeUri">
      <summary>
            Fired at each page request so the host web site can return the normalized
            version of the request URI.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.ProviderVersion">
      <summary>
            Gets or sets the OpenID version supported by the provider.
            If multiple versions are supported, this should be set to the latest
            version that this library and the Provider both support.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.ProviderEndpointUrl">
      <summary>
            Gets or sets the Provider URL that processes OpenID requests.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.ProviderLocalIdentifier">
      <summary>
            Gets or sets the Identifier that is controlled by the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.AutoNormalizeRequest">
      <summary>
            Gets or sets a value indicating whether every incoming request 
            will be checked for normalized form and redirected if it is not.
            </summary>
      <remarks>
        <para>If set to true (and it should be), you should also handle the <see cref="E:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.NormalizeUri" />
            event and apply your own policy for normalizing the URI.</para>
            If multiple <see cref="T:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint" /> controls are on a single page (to support
            multiple versions of OpenID for example) then only one of them should have this 
            property set to true.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.Protocol">
      <summary>
            Gets the protocol to use for advertising OpenID on the identity page.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Provider.IdentityEndpointNormalizationEventArgs">
      <summary>
            The event arguments passed to the <see cref="E:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint.NormalizeUri" /> event handler.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Provider.IdentityEndpointNormalizationEventArgs.#ctor(DotNetOpenAuth.OpenId.UriIdentifier)">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.Provider.IdentityEndpointNormalizationEventArgs" /> class.
            </summary>
      <param name="userSuppliedIdentifier">The user supplied identifier.</param>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpointNormalizationEventArgs.UserSuppliedIdentifier">
      <summary>
            Gets or sets the portion of the incoming page request URI that is relevant to normalization.
            </summary>
      <remarks>
            This identifier should be used to look up the user whose identity page is being queried.
            It MAY be set in case some clever web server URL rewriting is taking place that ASP.NET
            does not know about but your site does. If this is the case this property should be set
            to whatever the original request URL was.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpointNormalizationEventArgs.NormalizedIdentifier">
      <summary>
            Gets or sets the normalized form of the user's identifier, according to the host site's policy.
            </summary>
      <remarks>
        <para>This should be set to some constant value for an individual user.  
            For example, if <see cref="P:DotNetOpenAuth.OpenId.Provider.IdentityEndpointNormalizationEventArgs.UserSuppliedIdentifier" /> indicates that identity page
            for "BOB" is being called up, then the following things should be considered:</para>
        <list>
          <item>Normalize the capitalization of the URL: for example, change http://provider/BOB to
            http://provider/bob.</item>
          <item>Switch to HTTPS is it is offered: change http://provider/bob to https://provider/bob.</item>
          <item>Strip off the query string if it is not part of the canonical identity:
            https://provider/bob?timeofday=now becomes https://provider/bob</item>
          <item>Ensure that any trailing slash is either present or absent consistently.  For example,
            change https://provider/bob/ to https://provider/bob.</item>
        </list>
        <para>When this property is set, the <see cref="T:DotNetOpenAuth.OpenId.Provider.IdentityEndpoint" /> control compares it to
            the request that actually came in, and redirects the browser to use the normalized identifier
            if necessary.</para>
        <para>Using the normalized identifier in the request is <i>very</i> important as it
            helps the user maintain a consistent identity across sites and across site visits to an individual site.
            For example, without normalizing the URL, Bob might sign into a relying party site as 
            http://provider/bob one day and https://provider/bob the next day, and the relying party
            site <i>should</i> interpret Bob as two different people because the URLs are different.
            By normalizing the URL at the Provider's identity page for Bob, whichever URL Bob types in
            from day-to-day gets redirected to a normalized form, so Bob is seen as the same person
            all the time, which is of course what Bob wants.
            </para>
      </remarks>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.SelectorInfoCardButton">
      <summary>
            A button that appears in the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector" /> control that
            activates the Information Card selector on the browser, if one is available.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.SelectorInfoCardButton.infoCardSelector">
      <summary>
            The backing field for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.SelectorInfoCardButton.InfoCardSelector" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorInfoCardButton.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.SelectorInfoCardButton" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorInfoCardButton.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorInfoCardButton.EnsureValid">
      <summary>
            Ensures that this button has been initialized to a valid state.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorInfoCardButton.RenderLeadingAttributes(System.Web.UI.HtmlTextWriter)">
      <summary>
            Renders the leading attributes for the LI tag.
            </summary>
      <param name="writer">The writer.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.RenderLeadingAttributes(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="SelectorButton" exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorInfoCardButton.RenderButtonContent(System.Web.UI.HtmlTextWriter,DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector)">
      <summary>
            Renders the content of the button.
            </summary>
      <param name="writer">The writer.</param>
      <param name="selector">The containing selector control.</param>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.RenderButtonContent(System.Web.UI.HtmlTextWriter,DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector)" inheritedFromTypeName="SelectorButton" exception="T:System.ArgumentNullException">writer != null</requires>
      <exception cref="T:System.ArgumentNullException">writer == null</exception>
      <requires inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorButton.RenderButtonContent(System.Web.UI.HtmlTextWriter,DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector)" inheritedFromTypeName="SelectorButton" exception="T:System.ArgumentNullException">selector != null</requires>
      <exception cref="T:System.ArgumentNullException">selector == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.SelectorInfoCardButton.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.SelectorInfoCardButton.InfoCardSelector">
      <summary>
            Gets or sets the InfoCard selector which may be displayed alongside the OP buttons.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentNullException">value != null</requires>
      </setter>
      <exception cref="T:System.ArgumentNullException">value == null</exception>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox">
      <summary>
            An ASP.NET control for mobile devices that provides a minimal text box that is OpenID-aware.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.EmbeddedLogoResourceName">
      <summary>
            The name of the manifest stream containing the
            OpenID logo that is placed inside the text box.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.UsePersistentCookieDefault">
      <summary>
            Default value of <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.UsePersistentCookie" />.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.AppearanceCategory">
      <summary>
            The "Appearance" category for properties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.ProfileCategory">
      <summary>
            The "Simple Registration" category for properties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.BehaviorCategory">
      <summary>
            The "Behavior" category for properties.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestEmailViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestEmail" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestNicknameViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestNickname" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestPostalCodeViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestPostalCode" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestCountryViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestCountry" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequireSslViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequireSsl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestLanguageViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestLanguage" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestTimeZoneViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestTimeZone" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.EnableRequestProfileViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.EnableRequestProfile" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.PolicyUrlViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.PolicyUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestFullNameViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestFullName" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.UsePersistentCookieViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.UsePersistentCookie" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestGenderViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestGender" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.ReturnToUrlViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.ReturnToUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.StatelessViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.Stateless" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.ImmediateModeViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.ImmediateMode" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestBirthDateViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestBirthDate" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RealmUrlViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RealmUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.EnableRequestProfileDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.EnableRequestProfile" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequireSslDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequireSsl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.ImmediateModeDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.ImmediateMode" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.StatelessDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.Stateless" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.PolicyUrlDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.PolicyUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.ReturnToUrlDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.ReturnToUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RealmUrlDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RealmUrl" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestEmailDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestEmail" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestPostalCodeDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestPostalCode" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestCountryDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestCountry" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestLanguageDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestLanguage" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestTimeZoneDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestTimeZone" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestNicknameDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestNickname" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestFullNameDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestFullName" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestBirthDateDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestBirthDate" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestGenderDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestGender" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.UsePersistentCookieCallbackKey">
      <summary>
            The callback parameter for use with persisting the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.UsePersistentCookie" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.relyingParty">
      <summary>
            Backing field for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RelyingParty" /> property.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.LogOn">
      <summary>
            Immediately redirects to the OpenID Provider to verify the Identifier
            provided in the text box.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.CreateRequest">
      <summary>
            Constructs the authentication request and returns it.
            </summary>
      <returns>The instantiated authentication request.</returns>
      <remarks>
        <para>This method need not be called before calling the <see cref="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.LogOn" /> method,
            but is offered in the event that adding extensions to the request is desired.</para>
        <para>The Simple Registration extension arguments are added to the request
            before returning if <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.EnableRequestProfile" /> is set to true.</para>
      </remarks>
      <requires exception="T:System.InvalidOperationException">this.Request == null</requires>
      <exception cref="T:System.InvalidOperationException">this.Request != null</exception>
      <requires exception="T:System.InvalidOperationException">!string.IsNullOrEmpty(this.Text)</requires>
      <exception cref="T:System.InvalidOperationException">string.IsNullOrEmpty(this.Text)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.OnLoad(System.EventArgs)">
      <summary>
            Checks for incoming OpenID authentication responses and fires appropriate events.
            </summary>
      <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnLoad(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.OnLoggedIn(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.LoggedIn" /> event.
            </summary>
      <param name="response">The response.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.OnFailed(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.Failed" /> event.
            </summary>
      <param name="response">The response.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.OnCanceled(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.Canceled" /> event.
            </summary>
      <param name="response">The response.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.OnSetupRequired(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.SetupRequired" /> event.
            </summary>
      <param name="response">The response.</param>
      <requires exception="T:System.ArgumentNullException">response != null</requires>
      <exception cref="T:System.ArgumentNullException">response == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.AddProfileArgs(DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest)">
      <summary>
            Adds extensions to a given authentication request to ask the Provider
            for user profile data.
            </summary>
      <param name="request">The authentication request to add the extensions to.</param>
      <requires exception="T:System.ArgumentNullException">request != null</requires>
      <exception cref="T:System.ArgumentNullException">request == null</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.CreateRelyingParty">
      <summary>
            Creates the relying party instance used to generate authentication requests.
            </summary>
      <returns>The instantiated relying party.</returns>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.LoggedIn">
      <summary>
            Fired upon completion of a successful login.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.Failed">
      <summary>
            Fired when a login attempt fails.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.Canceled">
      <summary>
            Fired when an authentication attempt is canceled at the OpenID Provider.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.SetupRequired">
      <summary>
            Fired when an Immediate authentication attempt fails, and the Provider suggests using non-Immediate mode.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RealmUrl">
      <summary>
            Gets or sets the OpenID <see cref="T:DotNetOpenAuth.OpenId.Realm" /> of the relying party web site.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.ReturnToUrl">
      <summary>
            Gets or sets the OpenID ReturnTo of the relying party web site.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.ImmediateMode">
      <summary>
            Gets or sets a value indicating whether to use immediate mode in the 
            OpenID protocol.
            </summary>
      <value>
            True if a Provider should reply immediately to the authentication request
            without interacting with the user.  False if the Provider can take time
            to authenticate the user in order to complete an authentication attempt.
            </value>
      <remarks>
            Setting this to true is sometimes useful in AJAX scenarios.  Setting this to
            true can cause failed authentications when the user truly controls an
            Identifier, but must complete an authentication step with the Provider before
            the Provider will approve the login from this relying party.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.Stateless">
      <summary>
            Gets or sets a value indicating whether stateless mode is used.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.UsePersistentCookie">
      <summary>
            Gets or sets a value indicating whether to send a persistent cookie upon successful 
            login so the user does not have to log in upon returning to this site.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestNickname">
      <summary>
            Gets or sets your level of interest in receiving the user's nickname from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestEmail">
      <summary>
            Gets or sets your level of interest in receiving the user's email address from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestFullName">
      <summary>
            Gets or sets your level of interest in receiving the user's full name from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestBirthDate">
      <summary>
            Gets or sets your level of interest in receiving the user's birthdate from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestGender">
      <summary>
            Gets or sets your level of interest in receiving the user's gender from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestPostalCode">
      <summary>
            Gets or sets your level of interest in receiving the user's postal code from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestCountry">
      <summary>
            Gets or sets your level of interest in receiving the user's country from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestLanguage">
      <summary>
            Gets or sets your level of interest in receiving the user's preferred language from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequestTimeZone">
      <summary>
            Gets or sets your level of interest in receiving the user's time zone from the Provider.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.PolicyUrl">
      <summary>
            Gets or sets the URL to your privacy policy page that describes how 
            claims will be used and/or shared.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.EnableRequestProfile">
      <summary>
            Gets or sets a value indicating whether to use OpenID extensions
            to retrieve profile data of the authenticating user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RequireSsl">
      <summary>
            Gets or sets a value indicating whether to enforce on high security mode,
            which requires the full authentication pipeline to be protected by SSL.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.CustomApplicationStore">
      <summary>
            Gets or sets the type of the custom application store to use, or <c>null</c> to use the default.
            </summary>
      <remarks>
            If set, this property must be set in each Page Load event
            as it is not persisted across postbacks.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.RelyingParty">
      <summary>
            Gets or sets the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" /> instance to use.
            </summary>
      <value>The default value is an <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" /> instance initialized according to the web.config file.</value>
      <remarks>
            A performance optimization would be to store off the 
            instance as a static member in your web site and set it
            to this property in your <see cref="E:System.Web.UI.Control.Load">Page.Load</see>
            event since instantiating these instances can be expensive on 
            heavily trafficked web pages.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox.Request">
      <summary>
            Gets or sets the OpenID authentication request that is about to be sent.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox">
      <summary>
            An ASP.NET control that provides a minimal text box that is OpenID-aware and uses AJAX for
            a premium login experience.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase">
      <summary>
            A common base class for OpenID Relying Party controls.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.EmbeddedAjaxJavascriptResource">
      <summary>
            The manifest resource name of the javascript file to include on the hosting page.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.OPEndpointParameterName">
      <summary>
            The "dnoa.op_endpoint" string.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.ClaimedIdParameterName">
      <summary>
            The "dnoa.claimed_id" string.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.MaxPositiveAssertionLifetimeJsName">
      <summary>
            The name of the javascript field that stores the maximum time a positive assertion is
            good for before it must be refreshed.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.CallbackJSFunctionAsync">
      <summary>
            The name of the javascript function that will initiate an asynchronous callback.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.CallbackJSFunction">
      <summary>
            The name of the javascript function that will initiate a synchronous callback.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.AuthDataViewStateKey">
      <summary>
            The viewstate key to use for storing the value of a successful authentication.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.AuthenticationResponseViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.AuthenticationResponse" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.AuthenticationProcessedAlreadyViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.AuthenticationProcessedAlready" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.PopupDefault">
      <summary>
            Default value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.Popup" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.LogOnModeDefault">
      <summary>
            Default value of <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.LogOnMode" /> property..
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.authenticationResponse">
      <summary>
            The authentication response that just came in.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.discoveryResult">
      <summary>
            Stores the result of an AJAX discovery request while it is waiting
            to be picked up by ASP.NET on the way down to the user agent.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.RegisterClientScriptExtension``1(System.String)">
      <summary>
            Allows an OpenID extension to read data out of an unverified positive authentication assertion
            and send it down to the client browser so that Javascript running on the page can perform
            some preprocessing on the extension data.
            </summary>
      <typeparam name="T">The extension <i>response</i> type that will read data from the assertion.</typeparam>
      <param name="propertyName">The property name on the openid_identifier input box object that will be used to store the extension data.  For example: sreg</param>
      <remarks>
            This method should be called from the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.UnconfirmedPositiveAssertion" /> event handler.
            </remarks>
      <requires exception="T:System.ArgumentException">!string.IsNullOrEmpty(propertyName)</requires>
      <exception cref="T:System.ArgumentException">string.IsNullOrEmpty(propertyName)</exception>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.System#Web#UI#ICallbackEventHandler#GetCallbackResult">
      <summary>
            Returns the result of discovery on some Identifier passed to <see cref="M:System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent(System.String)" />.
            </summary>
      <returns>The result of the callback.</returns>
      <value>A whitespace delimited list of URLs that can be used to initiate authentication.</value>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.System#Web#UI#ICallbackEventHandler#RaiseCallbackEvent(System.String)">
      <summary>
            Performs discovery on some OpenID Identifier.  Called directly from the user agent via
            AJAX callback mechanisms.
            </summary>
      <param name="eventArgument">The identifier to perform discovery on.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.GetCallbackResult">
      <summary>
            Returns the results of a callback event that targets a control.
            </summary>
      <returns>The result of the callback.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.RaiseCallbackEvent(System.String)">
      <summary>
            Processes a callback event that targets a control.
            </summary>
      <param name="eventArgument">A string that represents an event argument to pass to the event handler.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.CreateRelyingParty(DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyApplicationStore)">
      <summary>
            Creates the relying party instance used to generate authentication requests.
            </summary>
      <param name="store">The store to pass to the relying party constructor.</param>
      <returns>The instantiated relying party.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.PreloadDiscovery(DotNetOpenAuth.OpenId.Identifier)">
      <summary>
            Pre-discovers an identifier and makes the results available to the
            user agent for javascript as soon as the page loads.
            </summary>
      <param name="identifier">The identifier.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.PreloadDiscovery(System.Collections.Generic.IEnumerable{DotNetOpenAuth.OpenId.Identifier})">
      <summary>
            Pre-discovers a given set of identifiers and makes the results available to the
            user agent for javascript as soon as the page loads.
            </summary>
      <param name="identifiers">The identifiers to perform discovery on.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.OnUnconfirmedPositiveAssertion">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.UnconfirmedPositiveAssertion" /> event.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.OnLoad(System.EventArgs)">
      <summary>
            Raises the <see cref="E:Load" /> event.
            </summary>
      <param name="e">The <see cref="T:System.EventArgs" /> instance containing the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnLoad(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.OnIdentifierChanged">
      <summary>
            Called when the <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> property is changed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.OnPreRender(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Web.UI.Control.PreRender" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnPreRender(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.Render(System.Web.UI.HtmlTextWriter)">
      <summary>
            Sends server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object, which writes the content to be rendered on the client.
            </summary>
      <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the server control content.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.Render(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="Control">writer != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.ScriptClosingPopupOrIFrame">
      <summary>
            Notifies the user agent via an AJAX response of a completed authentication attempt.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.GetJsCallbackConvenienceFunction(System.Boolean)">
      <summary>
            Constructs a function that will initiate an AJAX callback.
            </summary>
      <param name="async">if set to <c>true</c> causes the AJAX callback to be a little more asynchronous.  Note that <c>false</c> does not mean the call is absolutely synchronous.</param>
      <returns>The string defining a javascript anonymous function that initiates a callback.</returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.SetWebAppPathOnUserAgent">
      <summary>
            Sets the window.aspnetapppath variable on the user agent so that cookies can be set with the proper path.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.UnconfirmedPositiveAssertion">
      <summary>
            Fired when a Provider sends back a positive assertion to this control,
            but the authentication has not yet been verified.
            </summary>
      <remarks>
        <b>No security critical decisions should be made within event handlers
            for this event</b> as the authenticity of the assertion has not been
            verified yet.  All security related code should go in the event handler
            for the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LoggedIn" /> event.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.Popup">
      <summary>
            Gets or sets a value indicating when to use a popup window to complete the login experience.
            </summary>
      <value>The default value is <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.PopupBehavior.Never" />.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.LogOnMode">
      <summary>
            Gets or sets the way a completed login is communicated to the rest of the web site.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.RelyingParty">
      <summary>
            Gets or sets the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" /> instance to use.
            </summary>
      <value>
            The default value is an <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty" /> instance initialized according to the web.config file.
            </value>
      <remarks>
            A performance optimization would be to store off the
            instance as a static member in your web site and set it
            to this property in your <see cref="E:System.Web.UI.Control.Load">Page.Load</see>
            event since instantiating these instances can be expensive on
            heavily trafficked web pages.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.AuthenticationResponse">
      <summary>
            Gets the completed authentication response.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.AjaxRelyingParty">
      <summary>
            Gets the relying party as its AJAX type.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.OpenIdAuthDataFormKey">
      <summary>
            Gets the name of the open id auth data form key (for the value as stored at the user agent as a FORM field).
            </summary>
      <value>Usually a concatenation of the control's name and <c>"_openidAuthData"</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyAjaxControlBase.AuthenticationProcessedAlready">
      <summary>
            Gets or sets a value indicating whether an authentication in the page's view state
            has already been processed and appropriate events fired.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.EmbeddedScriptResourceName">
      <summary>
            The name of the manifest stream containing the OpenIdAjaxTextBox.js file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.EmbeddedStylesheetResourceName">
      <summary>
            The name of the manifest stream containing the OpenIdAjaxTextBox.css file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.EmbeddedSpinnerResourceName">
      <summary>
            The name of the manifest stream containing the spinner.gif file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.EmbeddedLoginSuccessResourceName">
      <summary>
            The name of the manifest stream containing the login_success.png file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.EmbeddedLoginFailureResourceName">
      <summary>
            The name of the manifest stream containing the login_failure.png file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.DownloadYahooUILibraryDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.DownloadYahooUILibrary" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.ThrottleDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Throttle" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AutoPostBackViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AutoPostBack" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.TextViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Text" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.ColumnsViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Columns" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.CssClassViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.CssClass" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.OnClientAssertionReceivedViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.OnClientAssertionReceived" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticatedAsToolTipViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticatedAsToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticationSucceededToolTipViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticationSucceededToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnInProgressMessageViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnInProgressMessage" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticationFailedToolTipViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticationFailedToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.IdentifierRequiredMessageViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.IdentifierRequiredMessage" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.BusyToolTipViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.BusyToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnTextViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.ThrottleViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Throttle" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnToolTipViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnPostBackToolTipViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnPostBackToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.NameViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Name" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.TimeoutViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Timeout" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.TabIndexViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.TabIndex" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.EnabledViewStateKey">
      <summary>
            The viewstate key to use for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Enabled" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.RetryToolTipViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.RetryToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.RetryTextViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.RetryText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.DownloadYahooUILibraryViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.DownloadYahooUILibrary" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.ShowLogOnPostBackButtonViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.ShowLogOnPostBackButton" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AutoPostBackDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AutoPostBack" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.ColumnsDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Columns" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.CssClassDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.CssClass" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnInProgressMessageDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnInProgressMessage" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticationSucceededToolTipDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticationSucceededToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticatedAsToolTipDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticatedAsToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticationFailedToolTipDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticationFailedToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnTextDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.BusyToolTipDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.BusyToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.IdentifierRequiredMessageDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.IdentifierRequiredMessage" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.NameDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Name" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.TabIndexDefault">
      <summary>
            Default value for <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.TabIndex" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.RetryToolTipDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.RetryToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnToolTipDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnPostBackToolTipDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnPostBackToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.RetryTextDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.RetryText" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.ShowLogOnPostBackButtonDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.ShowLogOnPostBackButton" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.YuiLoaderHttp">
      <summary>
            The path where the YUI control library should be downloaded from for HTTP pages.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.YuiLoaderHttps">
      <summary>
            The path where the YUI control library should be downloaded from for HTTPS pages.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.System#Web#UI#IPostBackDataHandler#LoadPostData(System.String,System.Collections.Specialized.NameValueCollection)">
      <summary>
            When implemented by a class, processes postback data for an ASP.NET server control.
            </summary>
      <param name="postDataKey">The key identifier for the control.</param>
      <param name="postCollection">The collection of all incoming name values.</param>
      <returns>
            true if the server control's state changes as a result of the postback; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.System#Web#UI#IPostBackDataHandler#RaisePostDataChangedEvent">
      <summary>
            When implemented by a class, signals the server control to notify the ASP.NET application that the state of the control has changed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.OnLoad(System.EventArgs)">
      <summary>
            Raises the <see cref="E:Load" /> event.
            </summary>
      <param name="e">The <see cref="T:System.EventArgs" /> instance containing the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnLoad(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.OnIdentifierChanged">
      <summary>
            Called when the <see cref="T:DotNetOpenAuth.OpenId.Identifier" /> property is changed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.OnPreRender(System.EventArgs)">
      <summary>
            Prepares to render the control.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnPreRender(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Render(System.Web.UI.HtmlTextWriter)">
      <summary>
            Renders the control.
            </summary>
      <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.Render(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="Control">writer != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LoadPostData(System.String,System.Collections.Specialized.NameValueCollection)">
      <summary>
            When implemented by a class, processes postback data for an ASP.NET server control.
            </summary>
      <param name="postDataKey">The key identifier for the control.</param>
      <param name="postCollection">The collection of all incoming name values.</param>
      <returns>
            true if the server control's state changes as a result of the postback; otherwise, false.
            </returns>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.RaisePostDataChangedEvent">
      <summary>
            When implemented by a class, signals the server control to notify the ASP.NET application that the state of the control has changed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.OnTextChanged">
      <summary>
            Called on a postback when the Text property has changed.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.PrepareClientJavascript">
      <summary>
            Assembles the javascript to send to the client and registers it with ASP.NET for transmission.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.TextChanged">
      <summary>
            Fired when the content of the text changes between posts to the server.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.OnClientAssertionReceived">
      <summary>
            Gets or sets the client-side script that executes when an authentication
            assertion is received (but before it is verified).
            </summary>
      <remarks>
        <para>In the context of the executing javascript set in this property, the 
            local variable <i>sender</i> is set to the openid_identifier input box
            that is executing this code.  
            This variable has a getClaimedIdentifier() method that may be used to
            identify the user who is being authenticated.</para>
        <para>It is <b>very</b> important to note that when this code executes,
            the authentication has not been verified and may have been spoofed.
            No security-sensitive operations should take place in this javascript code.
            The authentication is verified on the server by the time the 
            <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LoggedIn" /> server-side event fires.</para>
      </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Text">
      <summary>
            Gets or sets the value in the text field, completely unprocessed or normalized.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AutoPostBack">
      <summary>
            Gets or sets a value indicating whether a postback is made to fire the
            <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LoggedIn" /> event as soon as authentication has completed
            successfully.
            </summary>
      <value>
        <c>true</c> if a postback should be made automatically upon authentication;
            otherwise, <c>false</c> to delay the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LoggedIn" /> 
            event from firing at the server until a postback is made by some other control.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Columns">
      <summary>
            Gets or sets the width of the text box in characters.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentOutOfRangeException">value &gt;= 0</requires>
      </setter>
      <exception cref="T:System.ArgumentOutOfRangeException">value &lt; 0</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.CssClass">
      <summary>
            Gets or sets the CSS class assigned to the text box.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.TabIndex">
      <summary>
            Gets or sets the tab index of the text box control.  Use 0 to omit an explicit tabindex.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Enabled">
      <summary>
            Gets or sets a value indicating whether this <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdTextBox" /> is enabled
            in the browser for editing and will respond to incoming OpenID messages.
            </summary>
      <value>
        <c>true</c> if enabled; otherwise, <c>false</c>.</value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Name">
      <summary>
            Gets or sets the HTML name to assign to the text field.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(value)</requires>
      </setter>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(value)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Timeout">
      <summary>
            Gets or sets the time duration for the AJAX control to wait for an OP to respond before reporting failure to the user.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentOutOfRangeException">value.TotalMilliseconds &gt; 0</requires>
      </setter>
      <exception cref="T:System.ArgumentOutOfRangeException">value.TotalMilliseconds &lt;= 0</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Throttle">
      <summary>
            Gets or sets the maximum number of OpenID Providers to simultaneously try to authenticate with.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentOutOfRangeException">value &gt; 0</requires>
      </setter>
      <exception cref="T:System.ArgumentOutOfRangeException">value &lt;= 0</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnText">
      <summary>
            Gets or sets the text that appears on the LOG IN button in cases where immediate (invisible) authentication fails.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(value)</requires>
      </setter>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(value)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnToolTip">
      <summary>
            Gets or sets the rool tip text that appears on the LOG IN button in cases where immediate (invisible) authentication fails.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnPostBackToolTip">
      <summary>
            Gets or sets the rool tip text that appears on the LOG IN button when clicking the button will result in an immediate postback.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.RetryText">
      <summary>
            Gets or sets the text that appears on the RETRY button in cases where authentication times out.
            </summary>
      <setter>
        <requires exception="T:System.ArgumentException">!String.IsNullOrEmpty(value)</requires>
      </setter>
      <exception cref="T:System.ArgumentException">String.IsNullOrEmpty(value)</exception>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.RetryToolTip">
      <summary>
            Gets or sets the tool tip text that appears on the RETRY button in cases where authentication times out.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticationSucceededToolTip">
      <summary>
            Gets or sets the tool tip text that appears when authentication succeeds.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticatedAsToolTip">
      <summary>
            Gets or sets the tool tip text that appears on the green checkmark when authentication succeeds.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.AuthenticationFailedToolTip">
      <summary>
            Gets or sets the tool tip text that appears when authentication fails.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.BusyToolTip">
      <summary>
            Gets or sets the tool tip text that appears over the text box when it is discovering and authenticating.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.IdentifierRequiredMessage">
      <summary>
            Gets or sets the message that is displayed if a postback is about to occur before the identifier has been supplied.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.LogOnInProgressMessage">
      <summary>
            Gets or sets the message that is displayed if a postback is attempted while login is in process.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.DownloadYahooUILibrary">
      <summary>
            Gets or sets a value indicating whether the Yahoo! User Interface Library (YUI)
            will be downloaded in order to provide a login split button.
            </summary>
      <value>
        <c>true</c> to use a split button; otherwise, <c>false</c> to use a standard HTML button
            	or a split button by downloading the YUI library yourself on the hosting web page.
            </value>
      <remarks>
            The split button brings in about 180KB of YUI javascript dependencies.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.ShowLogOnPostBackButton">
      <summary>
            Gets or sets a value indicating whether the "Log in" button will be shown
            to initiate a postback containing the positive assertion.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.HookFormSubmit">
      <summary>
            Gets or sets a value indicating whether the ajax text box should hook the form's submit event for special behavior.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.OpenIdAuthDataFormKey">
      <summary>
            Gets the name of the open id auth data form key.
            </summary>
      <value>
            A concatenation of <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Name" /> and <c>"_openidAuthData"</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.TimeoutDefault">
      <summary>
            Gets the default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox.Timeout" /> property.
            </summary>
      <value>8 seconds; or eternity if the debugger is attached.</value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector">
      <summary>
            An ASP.NET control that provides a user-friendly way of logging into a web site using OpenID.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.EmbeddedScriptResourceName">
      <summary>
            The name of the manifest stream containing the OpenIdButtonPanel.js file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.EmbeddedStylesheetResourceName">
      <summary>
            The name of the manifest stream containing the OpenIdButtonPanel.css file.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.AuthDataFormKeySuffix">
      <summary>
            The substring to append to the end of the id or name of this control to form the
            unique name of the hidden field that will carry the positive assertion on postback.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.ButtonsViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.Buttons" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.AuthenticatedAsToolTipViewStateKey">
      <summary>
            The viewstate key to use for storing the value of the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.AuthenticatedAsToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.AuthenticatedAsToolTipDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.AuthenticatedAsToolTip" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.textBox">
      <summary>
            The OpenIdAjaxTextBox that remains hidden until the user clicks the OpenID button.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.positiveAssertionField">
      <summary>
            The hidden field that will transmit the positive assertion to the RP.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.CreateChildControls">
      <summary>
            Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.EnsureChildControlsAreCreatedSafe">
      <summary>
            Ensures that the child controls have been built, but doesn't set control
            properties that require executing <see cref="M:System.Web.UI.Control.EnsureID" /> in order to avoid
            certain initialization order problems.
            </summary>
      <remarks>
            We don't just call EnsureChildControls() and then set the property on
            this.textBox itself because (apparently) setting this property in the ASPX
            page and thus calling this EnsureID() via EnsureChildControls() this early
            results in no ID.
            </remarks>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.OnInit(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnInit(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.OnPreRender(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Web.UI.Control.PreRender" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnPreRender(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.Render(System.Web.UI.HtmlTextWriter)">
      <summary>
            Sends server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object, which writes the content to be rendered on the client.
            </summary>
      <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the server control content.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.Render(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="Control">writer != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.OnReceivedToken(DotNetOpenAuth.InfoCard.ReceivedTokenEventArgs)">
      <summary>
            Fires the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.ReceivedToken" /> event.
            </summary>
      <param name="e">The token, if it was decrypted.</param>
      <requires>e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.OnTokenProcessingError(DotNetOpenAuth.InfoCard.TokenProcessingErrorEventArgs)">
      <summary>
            Raises the <see cref="E:TokenProcessingError" /> event.
            </summary>
      <param name="e">The <see cref="T:DotNetOpenAuth.InfoCard.TokenProcessingErrorEventArgs" /> instance containing the event data.</param>
      <requires>e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.InfoCardSelector_ReceivedToken(System.Object,DotNetOpenAuth.InfoCard.ReceivedTokenEventArgs)">
      <summary>
            Handles the ReceivedToken event of the infoCardSelector control.
            </summary>
      <param name="sender">The source of the event.</param>
      <param name="e">The <see cref="T:DotNetOpenAuth.InfoCard.ReceivedTokenEventArgs" /> instance containing the event data.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.InfoCardSelector_TokenProcessingError(System.Object,DotNetOpenAuth.InfoCard.TokenProcessingErrorEventArgs)">
      <summary>
            Handles the TokenProcessingError event of the infoCardSelector control.
            </summary>
      <param name="sender">The source of the event.</param>
      <param name="e">The <see cref="T:DotNetOpenAuth.InfoCard.TokenProcessingErrorEventArgs" /> instance containing the event data.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.EnsureValidButtons">
      <summary>
            Ensures the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.Buttons" /> collection has a valid set of buttons.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.ReceivedToken">
      <summary>
            Occurs when an InfoCard has been submitted and decoded.
            </summary>
    </member>
    <member name="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.TokenProcessingError">
      <summary>
            Occurs when [token processing error].
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.TextBox">
      <summary>
            Gets the text box where applicable.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.Throttle">
      <summary>
            Gets or sets the maximum number of OpenID Providers to simultaneously try to authenticate with.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.Timeout">
      <summary>
            Gets or sets the time duration for the AJAX control to wait for an OP to respond before reporting failure to the user.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.AuthenticatedAsToolTip">
      <summary>
            Gets or sets the tool tip text that appears on the green checkmark when authentication succeeds.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.DownloadYahooUILibrary">
      <summary>
            Gets or sets a value indicating whether the Yahoo! User Interface Library (YUI)
            will be downloaded in order to provide a login split button.
            </summary>
      <value>
        <c>true</c> to use a split button; otherwise, <c>false</c> to use a standard HTML button
            	or a split button by downloading the YUI library yourself on the hosting web page.
            </value>
      <remarks>
            The split button brings in about 180KB of YUI javascript dependencies.
            </remarks>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.Buttons">
      <summary>
            Gets the collection of buttons this selector should render to the browser.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.Controls">
      <summary>
            Gets a <see cref="T:System.Web.UI.ControlCollection" /> object that represents the child controls for a specified server control in the UI hierarchy.
            </summary>
      <returns>
            The collection of child controls for the specified server control.
            </returns>
      <getter>
        <ensures inheritedFrom="M:System.Web.UI.Control.get_Controls" inheritedFromTypeName="Control">Contract.Result&lt;ControlCollection&gt;() != null</ensures>
      </getter>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.OpenIdAuthDataFormKey">
      <summary>
            Gets the name of the open id auth data form key (for the value as stored at the user agent as a FORM field).
            </summary>
      <value>
            Usually a concatenation of the control's name and <c>"_openidAuthData"</c>.
            </value>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.OpenIdTextBoxVisible">
      <summary>
            Gets a value indicating whether some button in the selector will want
            to display the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdAjaxTextBox" /> control.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton">
      <summary>
            An ASP.NET control that renders a button that initiates an
            authentication when clicked.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.TextDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.Text" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.PrecreateRequestDefault">
      <summary>
            The default value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.PrecreateRequest" /> property.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.TextViewStateKey">
      <summary>
            The key under which the value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.Text" /> property will be stored.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.ImageUrlViewStateKey">
      <summary>
            The key under which the value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.ImageUrl" /> property will be stored.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.PrecreateRequestViewStateKey">
      <summary>
            The key under which the value for the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.PrecreateRequest" /> property will be stored.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton" /> class.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.RaisePostBackEvent(System.String)">
      <summary>
            When implemented by a class, enables a server control to process an event raised when a form is posted to the server.
            </summary>
      <param name="eventArgument">A <see cref="T:System.String" /> that represents an optional event argument to be passed to the event handler.</param>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.OnPreRender(System.EventArgs)">
      <summary>
            Raises the <see cref="E:System.Web.UI.Control.PreRender" /> event.
            </summary>
      <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.OnPreRender(System.EventArgs)" inheritedFromTypeName="Control">e != null</requires>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.Render(System.Web.UI.HtmlTextWriter)">
      <summary>
            Sends server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object, which writes the content to be rendered on the client.
            </summary>
      <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the server control content.</param>
      <requires inheritedFrom="M:System.Web.UI.Control.Render(System.Web.UI.HtmlTextWriter)" inheritedFromTypeName="Control">writer != null</requires>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.Text">
      <summary>
            Gets or sets the text to display for the link.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.ImageUrl">
      <summary>
            Gets or sets the image to display.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.PrecreateRequest">
      <summary>
            Gets or sets a value indicating whether to pre-discover the identifier so
            the user agent has an immediate redirect.
            </summary>
    </member>
    <member name="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdButton.Popup">
      <summary>
            Gets or sets a value indicating when to use a popup window to complete the login experience.
            </summary>
      <value>The default value is <see cref="F:DotNetOpenAuth.OpenId.RelyingParty.PopupBehavior.Never" />.</value>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.LogOnSiteNotification">
      <summary>
            Methods of indicating to the rest of the web site that the user has logged in.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.LogOnSiteNotification.None">
      <summary>
            The rest of the web site is unaware that the user just completed an OpenID login.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.LogOnSiteNotification.FormsAuthentication">
      <summary>
            After the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LoggedIn" /> event is fired
            the control automatically calls <see cref="M:System.Web.Security.FormsAuthentication.RedirectFromLoginPage(System.String,System.Boolean)" />
            with the <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationResponse.ClaimedIdentifier" /> as the username
            unless the <see cref="E:DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LoggedIn" /> event handler sets
            <see cref="P:DotNetOpenAuth.OpenId.RelyingParty.OpenIdEventArgs.Cancel" /> property to true.
            </summary>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.RelyingParty.LogOnPersistence">
      <summary>
            How an OpenID user session should be persisted across visits.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.LogOnPersistence.Session">
      <summary>
            The user should only be logged in as long as the browser window remains open.
            Nothing is persisted to help the user on a return visit.  Public kiosk mode.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.LogOnPersistence.SessionAndPersistentIdentifier">
      <summary>
            The user should only be logged in as long as the browser window remains open.
            The OpenID Identifier is persisted to help expedite re-authentication when
            the user visits the next time.
            </summary>
    </member>
    <member name="F:DotNetOpenAuth.OpenId.RelyingParty.LogOnPersistence.PersistentAuthentication">
      <summary>
            The user is issued a persistent authentication ticket so that no login is
            necessary on their return visit.
            </summary>
    </member>
    <member name="M:DotNetOpenAuth.Messaging.EnumerableCacheExtensions.EnumerableCache`1.EnumeratorCache.System#Collections#IEnumerator#get_Current">
      <ensures inheritedFrom="M:System.Collections.IEnumerator.get_Current" inheritedFromTypeName="IEnumerator">Contract.Result&lt;object&gt;() == this.Model[this.CurrentIndex]</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.MessageBase.DotNetOpenAuth#Messaging#IMessage#get_ExtraData">
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_ExtraData" inheritedFromTypeName="IMessage">Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OAuth.Messages.MessageBase.DotNetOpenAuth#Messaging#IMessage#get_Version">
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_Version" inheritedFromTypeName="IMessage">Contract.Result&lt;Version&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.IdentifierDiscoveryResult.DotNetOpenAuth#OpenId#RelyingParty#IProviderEndpoint#get_Uri">
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.RelyingParty.IProviderEndpoint.get_Uri" inheritedFromTypeName="IProviderEndpoint">Contract.Result&lt;Uri&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.DotNetOpenAuth#OpenId#Messages#IOpenIdMessageExtension#get_TypeUri">
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.get_TypeUri" inheritedFromTypeName="IOpenIdMessageExtension">!String.IsNullOrEmpty(Contract.Result&lt;string&gt;())</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.DotNetOpenAuth#OpenId#Messages#IOpenIdMessageExtension#get_AdditionalSupportedTypeUris">
      <ensures inheritedFrom="M:DotNetOpenAuth.OpenId.Messages.IOpenIdMessageExtension.get_AdditionalSupportedTypeUris" inheritedFromTypeName="IOpenIdMessageExtension">Contract.Result&lt;IEnumerable&lt;string&gt;&gt;() != null</ensures>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Extensions.ExtensionBase.DotNetOpenAuth#Messaging#IMessage#get_ExtraData">
      <ensures inheritedFrom="M:DotNetOpenAuth.Messaging.IMessage.get_ExtraData" inheritedFromTypeName="IMessage">Contract.Result&lt;IDictionary&lt;string, string&gt;&gt;() != null</ensures>
    </member>
    <member name="T:DotNetOpenAuth.OpenId.Protocol.QueryParameters">
      <invariant>!string.IsNullOrEmpty(this.Prefix)</invariant>
    </member>
    <member name="M:DotNetOpenAuth.OpenId.Protocol.ToString">
      <ensures inheritedFrom="M:System.Object.ToString" inheritedFromTypeName="Object">Contract.Result&lt;string&gt;() != null</ensures>
    </member>
    <member name="M:Mono.Math.BigInteger.ToString">
      <ensures inheritedFrom="M:System.Object.ToString" inheritedFromTypeName="Object">Contract.Result&lt;string&gt;() != null</ensures>
    </member>
  </members>
</doc>